如何创建元组元素列表

时间:2014-11-16 18:15:01

标签: python list tuples

让我们说我有三个清单:

List1 = [1,2,3]
List2 = [4,5,6]
List3 = [7,8,9]

现在我想创建一个包含元组元素的新列表,但是使用我之前列表中的数据:

NewList = [(1,4,7), (2,5,6), (3,6,9)]

如何做到这一点?

3 个答案:

答案 0 :(得分:1)

您所需要的只是zip

>>> List1 = [1,2,3]
>>> List2 = [4,5,6]
>>> List3 = [7,8,9]
>>> zip(*(List1, List2, List3))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>>

另外,您会注意到第二个元组的第三个元素是不同的。我认为你的问题有一个错字。

答案 1 :(得分:0)

如果性能对您很重要,我建议使用itertools.izip代替内置zip()

>>> l=[List1,List2,List3]
>>> from itertools import izip
>>> list(izip(*l))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

答案 2 :(得分:0)

这不是最佳方式,只是作为替代方案。

>>> NewList = []
>>> i = 0
>>> while i <= len(List1)-1 :
        NewList.append(tuple(j[i] for j in (List1, List2, List3)))
        i+=1
>>>NewList
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]