Python ValueError询问length-2数组列表是否包含给定的length-1数组时出错

Python ValueError询问length-2数组列表是否包含给定的length-1数组时出错,python,arrays,list,numpy,Python,Arrays,List,Numpy,我有一个包含不同长度数组的列表,我想检查列表中是否有某些数组。例如,这样的支票就是一个例子 from numpy import array array([0]) in [array([0]), array([1,2])] >>> True 但是,如果列表只包含长度大于要检查的元素的数组,则会出现此错误 array([0]) in [array([1,2])] >>> ValueError: The truth value of an array with m

我有一个包含不同长度数组的列表,我想检查列表中是否有某些数组。例如,这样的支票就是一个例子

from numpy import array
array([0]) in [array([0]), array([1,2])]
>>> True
但是,如果列表只包含长度大于要检查的元素的数组,则会出现此错误

array([0]) in [array([1,2])]
>>> ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

现在,我的问题是:(a)有人能帮我理解这一点吗?(b)应该如何实现这样的元素检查?

如果交换元素,即使列表中包含目标数组,也会出现错误:

>>> array([0]) in [array([1,2]), array([0])]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any
() or a.all()

不过,如果您能更详细地解释一下您的设置和数据示例,我们通常会向您展示一种更好、更快的NumPy方式。有NumPy数组列表的原因是什么?

如果交换元素,即使列表中包含目标数组,也会出现错误:

>>> array([0]) in [array([1,2]), array([0])]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any
() or a.all()

不过,如果您能更详细地解释一下您的设置和数据示例,我们通常会向您展示一种更好、更快的NumPy方式。您有一个NumPy数组列表的原因是什么?

原因是,这个列表经过一些非平凡的算法,在这些算法中,不同长度的数组被动态删除和追加。元素的长度不同,数量也不同,所以我认为最好使用列表作为外部结构。我想我的误解归结为这样一个事实:我期望不同长度的数组的
a==b
False
,但它给出了一个错误。原因是,这个列表经过一些非平凡的算法,其中不同长度的数组被动态删除和追加。元素的长度不同,数量也不同,所以我认为最好使用列表作为外部结构。我想我的误解归结为这样一个事实:对于不同长度的数组,我期望
a==b
False
,但它给出了一个错误。