Python:AttributeError:“bool”对象没有属性“all”

2024-07-04 08:15:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我在为我的问题修改一个和我一起学习的人的密码。在

这是他的密码:

     if not((paux1 == paux2).all()):
        pop[int(saidaFO[pos,0]),:] = paux2
        pos -= 1

它起作用了,当我打印时,我有paux1的结果:[-2.36681.3174]。 我正在处理另一个问题,在我的例子中,当我打印paux1时,我有一个值:[0.2107491848569726,443,3]

所以,当我试着做同样的比较时:

if not((paux1 == paux2).all()):

我得到了这个错误:“AttributeError:'bool'对象没有属性'all'” 我不明白发生了什么。。。有人能帮帮我吗? 我不太明白.all()是如何工作的。。。也许一个等效的代码可以工作。。。在


Tags: 对象pos密码if错误notallpop
1条回答
网友
1楼 · 发布于 2024-07-04 08:15:47

在你的代码中,paux1和{}可能是numpy数组,所以paux1 == paux2返回一个表示布尔值的数组(不管测试的等式是真是假),而且该数组确实有一个.all()方法。在

听起来像是在处理列表,所以paux1 == paux2不像numpy数组那样按元素比较元素。您只检查两个列表是否相等,并返回一个单个布尔值。这个布尔值没有.all()方法,这就是导致错误的原因。在

预先将值列表转换为numpy数组,错误应该得到修复。在

paux1 = np.array(paux1)
paux2 = np.array(paux2) 

相关问题 更多 >

    热门问题