Question
Asked By – Jan Vorcak
What is the fastest and most elegant way of doing list of lists from two lists?
I have
In [1]: a=[1,2,3,4,5,6]
In [2]: b=[7,8,9,10,11,12]
In [3]: zip(a,b)
Out[3]: [(1, 7), (2, 8), (3, 9), (4, 10), (5, 11), (6, 12)]
And I’d like to have
In [3]: some_method(a,b)
Out[3]: [[1, 7], [2, 8], [3, 9], [4, 10], [5, 11], [6, 12]]
I was thinking about using map instead of zip, but I don’t know if there is some standard library method to put as a first argument.
I can def my own function for this, and use map, my question is if there is already implemented something. No is also an answer.
Now we will see solution for issue: Zip with list output instead of tuple
Answer
If you are zipping more than 2 lists (or even only 2, for that matter), a readable way would be:
[list(a) for a in zip([1,2,3], [4,5,6], [7,8,9])]
This uses a list comprehension to apply list
to each element (tuple) in the list, converting them into lists.
This question is answered By – D K
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0