[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

Reply via email to