我有vaadinCompile 'org.vaadin.addon:v-leaflet:2.0.9'
compile 'org.vaadin.addon:v-leaflet:2.0.9'
,并以降序对其进行了排序。
所以我现在有list=[12,45,7,15,9]
现在,我必须采用前3个元素,并且必须找到第一个列表的索引为[45,15,12,9,7]
。
我使用了(45,15,12)
,但这是错误消息:
np.where
答案 0 :(得分:0)
听起来好像您正在尝试做np.where(x,y,z)之类的事情,但最好单独搜索索引。另外,在尝试在列表上使用np.where之前,还可以确保将列表键入为numpy数组。
import numpy as np
alist=[12,45,7,15,9]
alist=np.array(alist)
anewlist=[45,15,12,9,7]
anewlist=np.array(anewlist)
x=anewlist[0]
y=anewlist[1]
z=anewlist[2]
print(np.where(alist == x))
print(np.where(alist == y))
print(np.where(alist == z))
>>>(array([1], dtype=int64),)
(array([3], dtype=int64),)
(array([0], dtype=int64),)
答案 1 :(得分:0)
您尝试执行的另一种解决方案如下:
list = np.array([12,45,7,15,9])
ind = list.argsort()[-3:][::-1]
输出:
array([1,3,0],dtype = int64)
它将为您提供三个元素的内容。