Al comparar una tupla con una lista como ...Python: ¿Por qué no se admite la comparación entre listas y tuplas?
>>> [1,2,3] == (1,2,3)
False
>>> [1,2,3].__eq__((1,2,3))
NotImplemented
>>> (1,2,3).__eq__([1,2,3])
NotImplemented
... Python no profunda comparémoslas como se ha hecho con (1,2,3) == (1,2,3)
.
¿Cuál es la razón de esto? ¿Es porque la lista mutable se puede cambiar en cualquier momento (problemas de seguridad de los hilos) o qué?
(sé que esto se implementa en CPython, así que por favor no conteste donde, pero por qué se aplica.)
Una lista no es una tupla y viceversa. Son diferentes tipos. '[] ==()' devolverá 'False'. – jathanism
Vea también: http://stackoverflow.com/questions/12135264/what-are-the-best-ways-to-compare-the-contents-of-two-list-like-objects/12135322#12135322 – Erik