Skip to main content
 首页 » 编程设计

python之等同列表如何工作 -可变的基本概念

2025年05月04日15lautakyan007

为什么在下面的例子中 list2 不是 [3,5] ?

>>>list1=[3,5] 
>>>list2=list1 
>>>list1[0]=2 
>>>list1 
   [2,5] 
>>>list2 
   [2,5] 

但是当我在这里尝试时它是[3,5]:

>>>list1=[3,5] 
>>>list2=list1 
>>>list1=[3,5,7] 
>>>list2 
   [3,5] 

请您参考如下方法:

Python 变量名指向对象。

list2=list1 

使 list2 指向与 list1 相同的对象。

list1[0]=2 

就地修改 list1 对象,因此 list2 也会受到影响。

相比之下,

list1=[3,5,7] 

使 list1 指向不同的列表。所以 list2 和 list1 不再指向同一个对象。因此 list2 在第二种情况下仍然等于 [3, 5]。

参见 Mark Ransom's answer以获得对 Python 的变量/对象/赋值模型的很好解释。

以上图片由Online Python Tutor visualizer生成.您可以使用它来查看赋值如何逐步更改变量的值。