Are there any list comparison optimizations in Python?
huaiyu at gauss.almadan.ibm.com
Tue Nov 13 19:42:08 CET 2001
On 12 Nov 2001 23:45:51 -0500, David Bolen <db3l at fitlinxx.com> wrote:
>On the non-empirical front, I peeked at the listobject.c source for
>its list_richcompare function and no, there doesn't appear to be any
>shortcut check for having both lists refer to the same object (at
>least in the latest CVS source). It does do the length check (for ==
>and !=), but otherwise it's the full recursion with the generic
>comparison applied to each element.
>It would be an easy optimization to add, although I'm wondering how
>much benefit typical real-life code would see.
def __cmp__(a,b): return -1
a = [A()]*3
a == a # returns 0
a is a # returns 1
Is this intended? I would think that mandating
a is b implies a == b
would make programs easier to read.
More information about the Python-list