当我出现在列表中时,我正在浏览Python DOC,并对此感到困惑: -
1
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
如何追加 a 同时更改 a和b ,但只使用>>> a = [1, 2, 3]
>>> b = a
>>> a.append(4)
>>> a
[1,2,3,4]
>>>b
[1,2,3,4]
>>> a = []
>>> print(a)
[]
>>> print(b)
[1, 2, 3, 4]
更改 a而非b 。
a=[]
那么为什么要id(a) != id(a[:])
更改 a ?谢谢。
答案 0 :(得分:3)
引用只是指向内存中对象的变量。你正在做什么
b = a
使b
指向a
当前指向的相同内存位置。
这意味着通过变量b
和a
,您可以修改内存中的相同内容,这解释了为什么修改b
也会修改a
"
现在,当你做
时a = []
你基本上是在内存中创建一个新的空列表,而你正在指向a
...
当然这是一般性解释,但我认为它给你直觉。