`frozenset` and `set` make a counterexample: >>> frozenset({1}) == {1} True
On 02.05.20 22:36, Guido van Rossum wrote:
It does look like that would violate a basic property of `==` -- if two values compare equal, they should be equally usable as dict keys. I can't think of any counterexamples. On Sat, May 2, 2020 at 1:33 PM Alex Hall <alex.moj...@gmail.com <mailto:alex.moj...@gmail.com>> wrote: On Sat, May 2, 2020 at 9:51 PM Serhiy Storchaka <storch...@gmail.com <mailto:storch...@gmail.com>> wrote: 02.05.20 21:34, Ahmed Amr пише: > I see there are ways to compare them item-wise, I'm suggesting to bake > that functionality inside the core implementation of such indexed > structures. > Also those solutions are direct with tuples and lists, but it wouldn't > be as direct with arrays-lists/tuples comparisons for example. If make `(1, 2, 3) == [1, 2, 3]` we would need to make `hash((1, 2, 3)) == hash([1, 2, 3])`. Would we? Is the contract `x == y => hash(x) == hash(y)` still required if hash(y) is an error? What situation involving dicts could lead to a bug if `(1, 2, 3) == [1, 2, 3]` but `hash((1, 2, 3))` is defined and `hash([1, 2, 3])` isn't? The closest example I can think of is that you might think you can do `{(1, 2, 3): 4}[[1, 2, 3]]`, but once you get `TypeError: unhashable type: 'list'` it'd be easy to fix. _______________________________________________ Python-ideas mailing list -- python-ideas@python.org <mailto:python-ideas@python.org> To unsubscribe send an email to python-ideas-le...@python.org <mailto:python-ideas-le...@python.org> https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/BMSP5BQP2UURBKV5LPLQXO6PZDP5PQGX/ Code of Conduct: http://python.org/psf/codeofconduct/ -- --Guido van Rossum (python.org/~guido <http://python.org/~guido>) /Pronouns: he/him //(why is my pronoun here?)/ <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/> _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/OPT6D6COYSMATTARQTUVVMAOPP6LEGHN/ Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/KMKPS3XCES5T5J4TY2PX3UQ7XPWE5AOB/ Code of Conduct: http://python.org/psf/codeofconduct/