python - 格式化和比较数组 Numpy Python
问题描述
我正在尝试检查格式化的向量a_and_b[::2]
是否等同于a
,但它给了我一个错误ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
。我将如何解决这个问题并获得预期的输出?
import numpy as np
a = np.array([5,32,1,4])
b = np.array([1,5,11,3])
a_and_b = np.array([5,1,32,5,1,11,4,3])
result = 'yes' if a_and_b[::2] == a else 'no'
预期输出:
yes
解决方案
你可能想用这个:
(a_and_b[::2] == a).all()
True
如果每个数组的所有元素都相等,它将返回,因为:
>>> a_and_b[::2] == a
array([ True, True, True, True])
True
返回/的数组False
。all()
将指示该数组的所有元素是否都是True
。
所以试试:
result = 'yes' if (a_and_b[::2] == a).all() else 'no'
推荐阅读
- homebrew - SwiftGen 在启动时“杀死:9”,因为“代码签名无效”,但前提是通过 Homebrew 安装
- java - 当 BigDecimal 类型先除法再乘法时,为什么结果与预期不同。JAVA
- python - 如何将本地 chrome 用户配置文件加载到 Heroku?
- mysql - 查询从 2 个表的比较中生成数据
- ios - IOS 的屏幕截图禁用
- c - 如何使信号中断 sem_wait() 但不终止进程?
- vue.js - 避免在 Vue3 中重新渲染数组类型的道具
- python - python网页抓取csv文件
- r - 如何在 R studio 中设置数据库驱动程序的路径
- wildfly - Wildfly 14 出现 404 错误后出现 403 错误