在Python中用[[elem] * m] * n初始化2D列表和[[range(n)中的i元素]对于range(n)中的i]初始化2D列表有什么区别?

时间:2018-07-07 14:10:41

标签: python-3.x list

我注意到,如果我使用前者,并尝试设置元素[0] [0]的值,它会执行此操作-

mvn dependency:purge-local-repository

但是,如果我使用列表推导方法,它将起作用。为什么?

In [16]: m = [[False] * 5 ] * 5
In [17]: m
Out[17]:
[[False, False, False, False, False],
 [False, False, False, False, False],
 [False, False, False, False, False],
 [False, False, False, False, False],
 [False, False, False, False, False]]

In [18]: m[0][0] = True

In [19]: m
Out[19]:
[[True, False, False, False, False],
 [True, False, False, False, False],
 [True, False, False, False, False],
 [True, False, False, False, False],
 [True, False, False, False, False]]

0 个答案:

没有答案