首先看下面的这段程序:
import numpy as np
lst = list(np.array([[1,2], [3,4]]))
print(lst)
将numpy的二维数组以行为单位转换为list,上述的运行结果为:
[array([1, 2]), array([3, 4])]
现在,删除其中的array([1,2]),第一种方法:
lst.remove(lst[0])
print(lst)
打印的结果为:
[array([3, 4])]
成功的删除了array([1,2])
然而这并没有什么用处,因为并不总是知道array([1,2])的位置,所以使用下面的方法删除,
lst.remove(np.array([1,2]))
print(lst)
却出现了错误,如下所示:
File "E:/py _workspace/demo/src/demo.py", line 13, in <module>
lst.remove(np.array([1,2]))
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
请问,怎么会出现这样的问题,和怎么在list中正确的删除一个ndarray??
这样可以吗?
In [64]: lst = x , y = list(np.array([[1,2], [3,4]])) In [65]: lst.remove(x)