我是python的新手,在这门语言的某些方面遇到了问题。现在,我正在尝试创建一个可以保存某些值的三维表。
tablexz
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列表都会被追加。为什么会发生这种情况,我如何解决它。我可以低效地解决这个问题,但我不想这样做。
发布于 2013-09-30 00:36:10
这句话
table = [[[]]*length]*length
只是一遍又一遍地给你引用相同的2个最里面的列表。
https://stackoverflow.com/questions/19084901
复制