2016-09-15 72 views
0

我有一個表示距離的數組,所以我試圖讓一個陣列,從3米小,距離增加的指標,是這樣的:如何獲得三個較小值的數組索引?

array([[ 2.8], 
     [ 206. ], 
     [ 84.4], 
     [ 297.6], 
     [ 112.7], 
     [ 235.4], 
     [ 170.7], 
     [ 22.2], 
     [ 264.1], 
     [ 163.2], 
     [ 43.7], 
     [ 131.2]]) 
Result = [0, 7, 10] 

任何想法o建議?提前致謝。

+0

http://www.geeksforgeeks.org/k-largestor-smallest-elements-in-an-array/ –

回答

0

我發現一個不是很優雅但工作的方法。如果有人有另一個更快或更好的版本,將受到歡迎。

from operator import itemgetter 
# b distances array 
b = [i for i in enumerate(b)] 
b = sorted(b, key=itemgetter(1)) 
b = [i[0] for i in b] 
result = b[:3] 
result 
# [0,7,10] 
相關問題