如何在Python中中断两个指向同一列表的变量

时间:2018-09-06 08:11:12

标签: python

例如:

Positives=negatives=[]

If True:
     Positives += [number]
else:
   Negatives += [number]

现在这部分代码实际上将列表分为两部分。但是,为什么完全相同的方法append不起作用,而只是将对象放在同一列表中?

1 个答案:

答案 0 :(得分:2)

首先要为他们分配相同的列表。 +=运算符会在适当的位置修改列表,因此您的两个变量仍引用更新的同一列表。

您应该执行以下一项操作:

a)创建两个单独的列表

Positives = []
Negatives = []

If True:
    Positives += [number]
else:
    Negatives += [number]

或b)使用+代替+=(创建新列表)

Positives = Negatives = []

If True:
    Positives = Positives + [number]
else:
    Negatives = Negatives + [number]
相关问题