2017-04-01 20 views
0

我希望有一個列表中的多個最小的元素的索引,的Python:在列表

a = [2,4,5,2] 

b= [0, 3] 

我知道如何做到這一點的時候,只有一個單一的分元素,但不是多分鐘元素。 例如:

b = a.index(min(a)) 

這會給我B = 0 感謝。

回答

2

查找最小值,然後重複使用enumerate找到最小值索引列表:

>>> a = [2,4,5,2] 
>>> min_value = min(a) 
>>> [i for i, x in enumerate(a) if x == min_value] 
[0, 3] 
+1

可能的複製[如何查找列表中所有元素的出現?](http://stackoverflow.com/questions/6294179/how-to-find-all-occurrences-of-an-element-in-a-list) – McGrady

+1

@McGrady,剛剛投了票。 – falsetru

1

你可以做,以下列方式使用numpy的:的

import numpy as np 
a = np.array([2,4,5,2]) 
np.where(a==a.min())