我尝试使用np.where
获取数组的索引,并希望以这样的方式连接列表,它给我一个1D列表。这可能吗?
l = np.array([10,20,14,10,23,5,10,1,2,3,10,5,6,5,10])
y= np.where(l==10)
p=np.where(l==5)
如果我打印y和p,他们会给予我
(array([ 0, 3, 6, 10, 14]),)
(array([ 5, 11, 13]),)
追加后会得到一个元组列表。然而我想要的输出是这样的:
[0,3,6,10,14,5,11,13]
6条答案
按热度按时间i2byvkas1#
既然有很多其他的解决方案,我将向您展示另一种方法。
您可以使用
np.isin
来测试数组中的好值:ego6inou2#
您可以concatinate两个数组,然后将结果转换为列表:
8ehkhllq3#
您可以使用
y[0]
和p[0]
访问列表,然后追加结果。只需添加以下行:和
r
将是一个np.数组与您所要求的值。使用list(r)
如果你想它作为一个列表。p8h8hvxi4#
使用
concatenate
的方法:4urapxun5#
在现有的一行中添加另一个。
Numpy可以使用
&
(and)、|
(or)和~
(not)等运算符。where
函数返回一个元组,以防您传递一个布尔数组,因此索引为0。希望这能帮上忙。
bbmckpt76#
试试这个
然后