为什么要在python中为两个列表分配

时间:2016-05-23 14:13:10

标签: python list python-2.7

我为这样的变量分配了值。这很好用。

In [16]: var1 = var2 = 5
In [17]: var1 = 2
In [18]: var2
Out[18]: 5
In [19]: var1
Out[19]: 2

与list完成相同的操作。

In [20]: list1 = list2 = []
In [21]: list1.append(5)
In [22]: list1
Out[22]: [5]
In [23]: list2
Out[23]: [5]

相同的方法我初始化了两个列表。在list1中插入值后,它会影响list2的值。它是如何发生的。我想知道为什么会这样发生。有人请解释一下。

由于

1 个答案:

答案 0 :(得分:5)

在您说list1 = list2 = []之后,list1和list2 是相同的列表对象。因此,当您向该对象添加新元素时,无论您是使用名称list1还是名称list2访问它,它们都在那里。

this earlier SO question的答案可能具有启发性。 (也许这个问题应该标注为那个问题的副本?)