I have 2 lists that I want to combine into a single list of tuples, so that order is maintained and the result[i] is (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.
解决方案
Use zip:
list(zip(first, second))
Out[384]: [(1, 4), (2, 5), (3, 6)]