Python: Warum ist der Vergleich zwischen Listen und Tupeln nicht unterstützt?

Beim Vergleich der ein Tupel mit einer Liste wie ...

>>> [1,2,3] == (1,2,3)
False
>>> [1,2,3].__eq__((1,2,3))
NotImplemented
>>> (1,2,3).__eq__([1,2,3])
NotImplemented

... Python nicht tief-vergleichen wie mit (1,2,3) == (1,2,3).

Also, was ist der Grund dafür? Ist es, weil der veränderliche Liste kann jederzeit geändert werden (thread-Sicherheit) oder was?

(Ich weiß, wo das implementiert ist im CPython, also bitte keine Antwort wo, aber warum es umgesetzt wird.)

InformationsquelleAutor AndiDog | 2010-02-26
Schreibe einen Kommentar