[Raymond Hettinger] > > If the two collections have unequal sizes, then both ways immediately > > return unequal.
[Steven D'Aprano] > Perhaps I'm misinterpreting what you are saying, but I can't confirm that > behaviour, at least not for subclasses of list: For doubters, see list_richcompare() in http://svn.python.org/view/python/trunk/Objects/listobject.c?revision=78522&view=markup if (Py_SIZE(vl) != Py_SIZE(wl) && (op == Py_EQ || op == Py_NE)) { /* Shortcut: if the lengths differ, the lists differ */ PyObject *res; if (op == Py_EQ) res = Py_False; else res = Py_True; Py_INCREF(res); return res; } And see set_richcompare() in http://svn.python.org/view/python/trunk/Objects/setobject.c?revision=78886&view=markup case Py_EQ: if (PySet_GET_SIZE(v) != PySet_GET_SIZE(w)) Py_RETURN_FALSE; if (v->hash != -1 && ((PySetObject *)w)->hash != -1 && v->hash != ((PySetObject *)w)->hash) Py_RETURN_FALSE; return set_issubset(v, w); Raymond -- http://mail.python.org/mailman/listinfo/python-list