iteritems() method, which lazily yield s the key-value pairs one at a time as we iterate over it.
lazy_evens_below_20 = (i for i in lazy_range(20) if i % 2 == 0)
for i, _ in enumerate(documents): do_something(i)
zip and unzip
pairs = [('a', 1), ('b', 2), ('c', 3)] letters, numbers = zip(*pairs)
def add(a,b): return a + b
add(*[1,2])