how fast is Python code - another detail

Skip Montanaro skip at
Thu Mar 4 20:46:58 CET 2004

    >>> if sig not in d.keys():


    >> if sig not in d.iterkeys():


    if sig not in d:

The first must build the list of keys then search it sequentially.  The
second doesn't have to build the entire list, but still searches
sequentially.  The third effectively tries d[sig] and catches the KeyError
exception of sig is not a key in d.  The third is O(1) in the general case.
The others are O(len(d)).


More information about the Python-list mailing list