我有 2 个数据列表,我想为这个列表创建一个看起来像这样的元组
ttuple=(1,[4,6,counter])
listA=[1,2,3,4,5,6,7,8,9]
listB=[3,4,5,7,8,9,0,-4,5]
counter=0
for i in range(len(listA)):
for lista in listA:
for listb in listB:
data=(i,[lista,listb,counter])
myList.append(data)
print(data)
只打印最后一个值。有人可以指出我做错了什么。它应该打印 9 个值的元组列表,如下所示。最后一个数字是一个递增 1 的计数器
(0,[1,3,0),(1,[2,4,0]),(2,[3,5,0])
我得到的是以下内容:
(0,[1,1]),(0,[1,1]),(0,[1,1]), (1,[2,2]),(1,[2,2]),(1,[2,2])
最佳答案
您可以使用 enumerate和 zip结合起来得到你想要的:
>>> listA=[1,2,3,4,5,6,7,8,9]
>>> listB=[3,4,5,7,8,9,0,-4,5]
>>> output = []
>>> for i, a in enumerate(zip(listA, listB)):
... output.append((i, [a[0], a[1], 0]))
...
>>> output
[(0, [1, 3, 0]),
(1, [2, 4, 0]),
(2, [3, 5, 0]),
(3, [4, 7, 0]),
(4, [5, 8, 0]),
(5, [6, 9, 0]),
(6, [7, 0, 0]),
(7, [8, -4, 0]),
(8, [9, 5, 0])]
关于Python:遍历多个列表并创建一个元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23165295/