我想用这种方法从数组列表中删除数组
i = np.array([1,2])
facets = [np.array([1,2]),np.array([3,4])]
我要删除一个元素
facets.remove(np.array(i[0],i[1]))
但得到一个错误:
ValueError Traceback (most recent call last)
<ipython-input-131-c0d040653e23> in <module>()
----> 1 facets.remove([i[0],i[2]])
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
有办法解决这个问题吗?
最简单的方法是使用
all()
逐元素比较列表元素和要删除的元素,并返回所有不匹配的元素。请注意,这将删除列表中与要删除的数组匹配的所有元素。请考虑以下示例:
此代码的作用类似于:
ls
的元素。1
。在步骤2中,代码试图比较两个numpy数组,如
array1 == array2
。问题是numpy为这个比较返回一个真值数组。所以,你必须实现你自己的类移除方法。
用法:
请尝试以下操作:
这对我的作用如下:
相关问题 更多 >
编程相关推荐