格式化和比较数组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的数组。CCD_ 7将指示该阵列的所有元素是否为CCD_。

所以试试:

result = 'yes' if (a_and_b[::2] == a).all() else 'no'

最新更新