如何在循环内的多个列表中添加项?

问题描述 投票:0回答:1

我正在尝试将项目添加到已经在其他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])
python list loops
1个回答
0
投票

您的示例代码没有多大意义。但你的问题确实存在。因此,我会回答你的问题。

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]提取每个列表的第一个元素。

© www.soinside.com 2019 - 2024. All rights reserved.