格式化和比较数组 Numpy Python

Formatting and comparing arrays 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()

如果每个数组的所有元素都相等,这将 return True,因为:

>>> a_and_b[::2] == a
array([ True,  True,  True,  True])

return 是 True/False 的数组。 all() 将指示该数组的所有元素是否都是 True

所以尝试:

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