我刚刚遇到了一些非常奇怪的Python:
>>> out=[[0]*3]*3
>>> out
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> out[0][1]
0
>>> out[0][1]=9
>>> out
[[0, 9, 0], [0, 9, 0], [0, 9, 0]]
Run Code Online (Sandbox Code Playgroud)
好吧,显然,我想要的是:
[[0, 9, 0], [0, 0, 0], [0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)
不奇怪吗?我对Python不是很熟悉,但Python总是以其直观的行为给我留下深刻的印象.但它是如何产生的呢?
......我怎样才能得到我需要的东西?
谢谢!
瓦