如果我想在python中创建一个多维列表(例如5x5列表),这是正确的代码(O只是一个示例占位符):
2dlist = []
for x in range(0,5):
2dlist.append(['O'] * 5)
然而,这里的['O'] * 5究竟是什么意思?因为,看这里,我假设列表在循环的第一次迭代中是这样的:
[['O'], ['O'], ['O'], ['O'], ['O']]
实际上,在循环的第一次迭代中,列表是这样的(这是正确的):
[['O', 'O', 'O', 'O', 'O']]
为什么?
将list
乘以int
将使列表的内容乘以所述int
。例如:
a = [1,2] * 3
print(a)
>>> [1,2,1,2,1,2]
这就是为什么在您的示例中,当您将['O'] * 5
附加到列表时,您将['O', 'O', 'O', 'O', 'O']
附加到2dlist
。