在python中写入多维列表会产生意想不到的结果

时间:2015-03-27 16:12:51

标签: python

我想创建一个预先调整大小的多维列表。我有一个实验:

>>>md = [[0]*5]*5
>>>md[1][1] = 6
>>>md
[[0, 6, 0, 0, 0], [0, 6, 0, 0, 0], [0, 6, 0, 0, 0], [0, 6, 0, 0, 0], [0, 6, 0, 0, 0]]

我不指望。

然后:

>>> a = [[0] * 5 for i in range(5)]
>>> a[1][1] = 6
>>> a
[[0, 0, 0, 0, 0], [0, 6, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

这是我的期望。这是怎么回事?

0 个答案:

没有答案