[Python-Dev] Equality testing

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 "<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).
> 
> 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