我为这样的变量分配了值。这很好用。
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
的值。它是如何发生的。我想知道为什么会这样发生。有人请解释一下。
由于
答案 0 :(得分:5)
在您说list1 = list2 = []
之后,list1和list2 是相同的列表对象。因此,当您向该对象添加新元素时,无论您是使用名称list1
还是名称list2
访问它,它们都在那里。
this earlier SO question的答案可能具有启发性。 (也许这个问题应该标注为那个问题的副本?)