在Python中对列表进行简写分配

时间:2016-03-21 16:39:37

标签: python list

我在Python中声明了一个名为path的(5x6)列表:

path = [[' ']*6]*5

现在,当我将任何一个元素的值更改为:

path[4][5] = '*'

path[0][5] = '*'

我得到的输出为:

[' ', ' ', ' ', ' ', ' ', '*']
[' ', ' ', ' ', ' ', ' ', '*']
[' ', ' ', ' ', ' ', ' ', '*']
[' ', ' ', ' ', ' ', ' ', '*']
[' ', ' ', ' ', ' ', ' ', '*']

也就是说,指定列的所有元素都变为'*'。为什么会这样? 我的猜测是,这可能与Python中实现这种简写符号的方式有关。也许解释器占用第一行并将其复制下来用于所有列。

0 个答案:

没有答案
相关问题