追加到数组中的元素

时间:2013-09-30 00:34:19

标签: python list 3d append

我是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列表。为什么会发生这种情况,我该如何解决它。我可以无效地解决这个问题,但我不想这样做。

1 个答案:

答案 0 :(得分:1)

声明

table = [[[]]*length]*length

只是一遍又一遍地为您提供相同的2个最里面的列表。