[Python-Dev] Equality testing
Ethan Furman
ethan at stoneleaf.us
Wed May 18 20:51:54 CEST 2011
In Python 3 inequality comparisons became forbidden.
--> 123 < [1, 2, 3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < list()
However, equality comparisons are still allowed
--> 123 == [1, 2, 3]
False
But you can't mix them (inequality wins)
--> 123 <= [1, 2, 3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() <= list()
I realize this is probably a Py4000 change if it happens at all, but
does this make sense? Shouldn't an attempt to compare to unlike objects
be a TypeError, just like trying to order them is?
It bit me when I tried to compare a byte string element with a single
character byte string (of course they should have matched, but since the
element was an int, the match was not longer True).
~Ethan~
More information about the Python-Dev
mailing list