Python:循环遍历多个列表并附加到列表

时间:2014-04-17 22:54:58

标签: python python-3.x

我有2个列表并使用范围功能我需要浏览列表并打印出10个元组的列表。

list_1=[3,43,34,34,32,43,54,45,45]
list_2=[3,43,34,34,2,34,23,23,43]

for indenti in range(10):
   for list1 in list_1:
       for list2 in list_2:
             temp = (identi,[list1,list2])
             table.append(temp)
print(table)

上述函数应该打印一个元组列表,如下所示。但是当我打印表格时,最后一个元组被打印[(9, [41.74490743920966, 46.86562115881449, 0])]

[(0, [41.74490743920966, 46.86562115881449, 0])]
[(1, [41.74490743920966, 46.86562115881449, 0])]
[(2, [41.74490743920966, 46.86562115881449, 0])]
[(3, [41.74490743920966, 46.86562115881449, 0])]

有人能指出我错过了什么或做错了我的代码只打印出列表中所有元组的最后一个元组,如上例所示。

1 个答案:

答案 0 :(得分:1)

如果我理解你想要的行为:

>>> list_1=[3,43,34,34,32,43,54,45,45]
>>> list_2=[3,43,34,34,2,34,23,23,43]
>>> [(i, [list_1[i],list_2[i]]) for i in range(len(list_1))]

输出

[(0, [3, 3]), (1, [43, 43]), (2, [34, 34]), (3, [34, 34]), (4, [32, 2]), (5, [43, 34]), (6, [54, 23]), (7, [45, 23]), (8, [45, 43])]

格式化,结果是

[(0, [3, 3]),
 (1, [43, 43]),
 (2, [34, 34]),
 (3, [34, 34]),
 (4, [32, 2]),
 (5, [43, 34]),
 (6, [54, 23]),
 (7, [45, 23]),
 (8, [45, 43])]