David Isaac wrote: > I ran into a need for something like map(None,x,y) > when len(x)>len(y). I cannot it seems use 'zip' because I'll lose > info from x.
I almost never run into this situation, so I'd be interested to know why you need this. Here's one possible solution: py> import itertools as it py> def zipfill(*lists): ... max_len = max(len(lst) for lst in lists) ... return zip(*[it.chain(lst, it.repeat(None, max_len - len(lst))) ... for lst in lists]) ... py> zipfill(range(4), range(5), range(3)) [(0, 0, 0), (1, 1, 1), (2, 2, 2), (3, 3, None), (None, 4, None)] If you prefer, you can replace the call to zip with it.zip and get an iterator back instead of a list. STeVe -- http://mail.python.org/mailman/listinfo/python-list