[Python-Dev] itertools addition: getitem()

Walter Dörwald walter at livinglogic.de
Sun Jul 8 11:38:22 CEST 2007


I'd like to propose the following addition to itertools: A function 
itertools.getitem() which is basically equivalent to the following 
python code:

_default = object()

def getitem(iterable, index, default=_default):
    try:
       return list(iterable)[index]
    except IndexError:
       if default is _default:
          raise
       return default

but without materializing the complete list. Negative indexes are 
supported too (this requires additional temporary storage for abs(index) 
objects).

The patch is available at http://bugs.python.org/1749857

Servus,
    Walter


More information about the Python-Dev mailing list