栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

numpy:具有多个元素的数组的真值不明确

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy:具有多个元素的数组的真值不明确

numpy数组定义了一个自定义的相等运算符,即它们是实现

__eq__
magic函数的对象。因此,
==
运算符和依赖于这种相等性的所有其他功能/运算符称为此自定义相等性函数。

Numpy的相等性基于数组的元素明智比较。因此,作为回报,您将获得另一个具有布尔值的numpy数组。例如:

x = np.array([1,2,3])y = np.array([1,4,5])x == y

退货

array([ True, False, False], dtype=bool)

但是,

in
列表 结合使用的运算符要求仅返回 单个 布尔值的相等比较。这就是错误要求
all
或的原因
any
。例如:

any(x==y)

返回,

True
因为结果数组的至少一个值是
True
。相反

all(x==y)

会返回,

False
因为 并非 所得数组的所有值都是
True

因此,在您的情况下,解决该问题的方法如下:

other_pairs = [p for p in points if all(any(p!=q) for q in max_pair)]

print other_pairs
打印预期结果

[array([1, 6]), array([3, 7])]

为什么这样?好,我们来看一个项目 p ,其中 任何 的条目是不相等的条目 所有 项目 qmax_pair



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634049.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号