File: LP6E/Chapter20/mymap-generate.py
"Emulate map: support multiple arguments, generate results on request"
def mymap_func(func, *seqs):
for args in zip(*seqs):
yield func(*args)
def mymap_expr(func, *seqs):
return (func(*args) for args in zip(*seqs))
for mymap in (mymap_func, mymap_expr):
print(list(mymap(abs, [-2, -1, 0, 1, 2])))
print(list(mymap(pow, [1, 2, 3], [2, 3, 4, 5])))