anonymous assignment

Terry Reedy tjreedy at udel.edu
Mon May 12 18:43:49 EDT 2008


"Arnaud Delobelle" <arnodel at googlemail.com> wrote in message 
news:c689625d-b2d2-4268-ae40-15e3c9b78ea2 at x41g2000hsb.googlegroups.com...

here is a very sophisticated implementation :)

>>> def extract(indices, seq):
...     return tuple(seq[i] for i in indices)
...
>>> y, d = extract((0, 2), time.localtime())
>>> y, d
(2008, 12)

===================
Or a generator version:

# 3.0
def extract(iterable, indexes):
    # assume indexes are all legal
    enext = enumerate(iterable).__next__
    i,item = enext()
    for index in indexes:
        while i < index:
            i,item = enext()
        yield item

import time
print(list(extract(time.localtime(), (0,2))))

#prints [2008, 12] 






More information about the Python-list mailing list