如何在Python中打破两个寻址到同一列表的变量

问题描述 投票:-2回答:1

例如:

Positives=negatives=[]

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

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

python
1个回答
2
投票

您首先要为它们分配相同的列表。 +=运算符修改了列表,因此两个变量仍然引用更新的相同列表。

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

a)创建两个单独的列表

Positives = []
Negatives = []

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

或b)使用+而不是+=(创建一个新列表)

Positives = Negatives = []

If True:
    Positives = Positives + [number]
else:
    Negatives = Negatives + [number]
© www.soinside.com 2019 - 2024. All rights reserved.