List Comprehension Question: One to Many Mapping?

beginner zyzhu2000 at gmail.com
Fri Aug 24 00:24:03 EDT 2007


Hi All,

How do I map a list to two lists with list comprehension?

For example, if I have x=[ [1,2], [3,4] ]

What I want is a new list of list that has four sub-lists:

[[1,2], [f(1), f(2)], [3,4], [f(3), f(4)]]

[1,2] is mapped to [1,2] and [f(1), f(2)] and [3,4] is mapped to
[3,4], [f(3), f(4)].

I just can't find any way to do that with list comprension. I ended up
using a loop (untested code based on real code):

l=[]
for y in x:
   l.append(y)
   l.append([f(z) for z in y])

Thanks,
Geoffrey




More information about the Python-list mailing list