在Python中创建N*N*N列表的问题

Mat*_*ehm 2 python list mutable

我正在尝试在Python中创建一个三维N N N列表,如下所示:

n=3
l = [[[0,]*n]*n]*n
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎没有正确"克隆"列表,因为我认为它会:

>>> l
[[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]
>>> l[0][0][0]=1
>>> l
[[[1, 0, 0], [1, 0, 0], [1, 0, 0]], [[1, 0, 0], [1, 0, 0], [1, 0, 0]], [[1, 0, 0], [1, 0, 0], [1, 0, 0]]]
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

Tor*_*dek 5

问题是* n列表的浅表副本.解决方案是使用嵌套循环,或尝试numpy库.