我正在尝试将项目添加到已经在其他9个列表中的9个列表中。我想在第一个列表中拥有每个列表的第一个元素。然后将每个列表的第二个元素放入第二个列表中。
因此,例如,我希望我的第一个输出列表使用三个列表[1,2,3]和[3,2,1]为[1,3]。我想出了这个,但它不断返回一个KeyError:
def sudokuSolver():
row1,row2,row3,row4,row5,row6,row7,row8,row9=([] for i in range(9))
for k in range(1,10):
for l in range(9):
globals()['row%s' % k].append(globals()['cell%s' % k][l])
您的示例代码没有多大意义。但你的问题确实存在。因此,我会回答你的问题。
zip
是一个方便的内置函数,它可以同时迭代多个迭代项。
这是一个应用程序:
lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
list(zip(*lst))[0]
# (1, 4, 7, 10)
注意解包操作符*
,我们需要在list
中包装,因为zip
是一个交互器,而索引器[0]
提取每个列表的第一个元素。