ewok ewok - 1 year ago 105
Python Question

python: combine 2 ordered lists into list of tuples

I have 2 lists that I want to combine into a single list of tuples, so that order is maintained and the

(first[i], second[i])
. Assume that the two lists will always be of the same size. Is there a way to do this using list comprehension? So for example:

>>> first = [1,2,3]
>>> second = [4,5,6]
>>> combine(first, second)
[(1,4), (2,5), (3,6)]

I've tried a few things

[(i,j) for i in first, j in second]
[(i for i in first, j for j in second)]
[(i,j) for i,j in first, second]

None of these work. I'm just wondering if this is possible or if I have to do it using a loop.

Answer Source

Use zip:

list(zip(first, second))
Out[384]: [(1, 4), (2, 5), (3, 6)]
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download