首页 新闻 会员 周边 捐助

关于Python numpy的一个问题-在list中删除一个ndarray为什么会有不同的结果

0
悬赏园豆:10 [待解决问题]

首先看下面的这段程序:

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??

ledao的主页 ledao | 初学一级 | 园豆:194
提问于:2015-10-15 23:29
< >
分享
所有回答(1)
0

这样可以吗?

In [64]: lst = x , y = list(np.array([[1,2], [3,4]]))

In [65]: lst.remove(x)

 

 

 

墨镜带佬星 | 园豆:2310 (老鸟四级) | 2016-10-05 08:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册