希望有人能帮助我。
我对Python很新,我正在努力解决我做错了什么。
我已经搜索,发现Python变量可以链接,以便改变另一个变量,并且我已经使用id()函数进行了大量测试来掌握这个概念。但我似乎发现了一个例外,我希望有人可以解释…
首先,以下工作如预期的那样制作一份清单的独立副本。
>>> a = [0,0]
>>> b = a[:]
>>> print a is b
False
>>> b[0]=1
>>> print a
[0,0]
>>> print b
[1,0]
但是如果我稍微改变一下这样一个列表,它会改变…
>>> a = [[0,0],[0,0]]
>>> b = a[:]
>>> print a is b
False
>>> b[0][0]=1
>>> print a
[[1, 0], [0, 0]]
>>> print b
[[1, 0], [0, 0]]
现在我们看到b的任何更新也将适用于a,但打印结果a是b返回False?我已经检查了这个对id(),一切都说他们是彼此独立的,但是当我更新一个相同的适用于其他?
有人可以解释一下吗
注意我正在运行这些http://labs.codecademy.com/#:workspace,所以我的第一个想法是,它只是一个在他们的网站上的错误,但我不知道?
编辑:
谢谢你所有的伟大的答案到目前为止。那是快!我知道这可能是以前被问过的,但是很难搜索。
由于所有的答案都是正确的,我会等待一天的标记。谁最多的1将得到标记:)