列表及其在Python中的引用

时间:2015-06-10 17:16:01

标签: python

当我出现在列表中时,我正在浏览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

  1. 我们知道a=[]那么为什么要id(a) != id(a[:])更改 a
  2. 谢谢。

1 个答案:

答案 0 :(得分:3)

引用只是指向内存中对象的变量。你正在做什么

b = a

使b指向a当前指向的相同内存位置。

这意味着通过变量ba,您可以修改内存中的相同内容,这解释了为什么修改b也会修改a "

现在,当你做

a = [] 

你基本上是在内存中创建一个新的空列表,而你正在指向a ...

当然这是一般性解释,但我认为它给你直觉。