我是python的新手,我在语言的某些方面遇到了麻烦。现在我正在尝试创建一个可以保存某些值的3维表。
表[X] [Y] [Z]
X和Y都被初始化为具有相同数量的元素,并且z被初始化为像这样的空列表
table = [[[]]*length]*length
这样长度为3的表看起来像 -
[[[],[],[]],[[],[],[]],[[],[],[]]]
在x,y的某些值下,我希望能够像这样添加单个z列表
table[0][2].append('S')
会使表格看起来像
[[[],[],['S']],[[],[],[]],[[],[],[]]]
但它会像这样出现
[[['S'],['S'],['S']],[['S'],['S'],['S']],[['S'] ,[ 'S'],[ 'S']]]
以便附加每个z列表。为什么会发生这种情况,我该如何解决它。我可以无效地解决这个问题,但我不想这样做。
答案 0 :(得分:1)
声明
table = [[[]]*length]*length
只是一遍又一遍地为您提供相同的2个最里面的列表。