Python:Append函数添加多个值

Python:Append函数添加多个值,python,append,multiple-entries,Python,Append,Multiple Entries,我现在用python编写代码已经有一段时间了,从昨天开始,我就一直在讨论“append”函数的一个问题,这个函数看起来完全是随机的,我找不到逻辑上的原因 我想将布尔值添加到现有列表中。我的代码如下所示: comp_bounds = [] for item_i,item_j in zip(x_bound_min,x_bound_max): if item_i == item_j: comp_bounds.append(1) else: comp_bounds.append(0)

我现在用python编写代码已经有一段时间了,从昨天开始,我就一直在讨论“append”函数的一个问题,这个函数看起来完全是随机的,我找不到逻辑上的原因

我想将布尔值添加到现有列表中。我的代码如下所示:

comp_bounds = []
for item_i,item_j in zip(x_bound_min,x_bound_max):
     if item_i == item_j: comp_bounds.append(1)
     else: comp_bounds.append(0) 
问题是,代码并不是只为每个循环向列表中添加一个值,而是更多!然而,这是随机出现的。有时一切正常,但有时会添加两个或三个布尔值。我试着在控制台中通过硬输入append函数来测试它,结果还是一样。下面是我的控制台命令:

del comp_bounds[:]
None
comp_bounds.append(1)
comp_bounds
[1]
comp_bounds.append(0)
None
comp_bounds.append(0)
None
comp_bounds
[1, 0, 0, 0, 0, 0, 0]
如您所见,我删除了所有列表值中的第一个,在列表中添加了1,一切正常。然后我加了两次0,就是这样!为什么append命令将0添加6次? 一开始我试着用“真”和“假”,但结果都是一样的。这就是我切换到“0/1”的原因,希望问题能够得到解决。 我使用VisualStudio作为IDE。我知道“附加”和“扩展”之间的区别。我的代码可以很容易地切换到扩展,也许可以很好地工作,但我想了解这个问题,以避免将来犯同样的错误


提前谢谢你

我不能用给定的信息重现这个问题,它对我来说很好。我不能用命令行python解释器中2.7或3.5版本的代码重现这个行为。这就是问题的奇怪之处。询问我的同事并复制错误只“有效”一次,因为它通常运行良好,没有任何错误,只是对原始代码进行了一点小小的改进。不需要根据测试结果附加条件和True/False,只需附加测试结果:comp_bounds.append(item_i==item_j)我看到您使用的是NumPy。在您的例子中,如果
x\u-bound\u-min
x\u-bound\u-max
是NumPy数组,那么您可以像这样创建
comp\u-bounds=x\u-bound\u-min==x\u-bound\u-max