[Python-Dev] Equality testing (original) (raw)

Ethan Furman ethan at stoneleaf.us
Wed May 18 23:42:37 CEST 2011


Terry Reedy wrote:

On 5/18/2011 2:51 PM, Ethan Furman wrote:

In Python 3 inequality comparisons became forbidden.

--> 123 < [1, 2, 3]_ _Traceback (most recent call last):_ _File "", line 1, in 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 "", line 1, in 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). Questions/comments like this that are not about developing the next versions of Python, as you acknowledge above, really belong elsewhere, like on the ideas list.

My apologies. I'll be more careful.

Ethan



More information about the Python-Dev mailing list