【发布时间】:2021-09-30 17:39:02
【问题描述】:
当我使用导入的 numpy 库创建这个简单的函数时,我收到了来自 PyCharm 的警告:Unresolved attribute reference 'all' for class 'list'
import numpy as np
def func():
b1 = [True, False, False]
b2 = [True, True, True]
return b1.all() and b2.all()
然后我将return b1.all() and b2.all() 更改为return np.all(b1) and np.all(b2) 并且警告消失了。
谁能解释一下为什么会出现这个警告?
【问题讨论】:
-
你试过
all(b1)吗?all是内置方法,熊猫系列之类的列表没有名为all的属性。 -
list没有方法all。有一个内置的all(b1) and all(b2)您可以改用。 Numpy 也有一个 all 方法,这就是为什么它“解决”了你的问题。 -
np.all(alist)实际上是np.array(alist).all()。它将参数转换为数组,然后应用该方法。AttributeError表示您要么对象错误,要么方法错误。list没有该方法(如果需要,请重新阅读基本 Python 文档)。 -
谢谢,我现在从您的评论中知道了原因。