是的,这是预期的行为。a,b和c都设置为同一列表的标签。如果需要三个不同的列表,则需要分别分配它们。您可以重复显示列表,也可以使用多种方式之一复制列表:b = a[:] # this does a shallow copy, which is good enough for this caseimport copyc = copy.deepcopy(a) # this does a deep copy, which matters if the list contains mutable objectsPython中的赋值语句不复制对象-它们将名称绑定到对象,并且对象可以具有您设置的尽可能多的标签。在第一次编辑中,更改a [0],您将更新a,b和c都引用的单个列表中的一个元素。在第二次更改e中,您将e切换为其他对象的标签(4而不是3)。