This isn't really a question about list comprehensions as you are using a "feature" of map by passing None as the function to be executed over each list element:
This works when len(x) > len(y): zip(x,y+(len(x)-len(y))*[None]) This works when len(y) >=0 len(x): zip(x+(len(x)-len(y))*[None],y) I would probably wrap into function: def foo(x,y): if len(x) > len(y): return zip(x,y+(len(x)-len(y))*[None]) return zip(x+(len(x)-len(y))*[None],y) Larry Bates David Isaac wrote: > Newbie question: > > I have been generally open to the proposal that list comprehensions > should replace 'map', but 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. How do I do this as a list comprehension? (Or, > more generally, what is the best way to do this without 'map'?) > > Thanks, > Alan Isaac > > -- http://mail.python.org/mailman/listinfo/python-list