列表中多个最小元素的索引

6
我需要一个列表。
a = [2,4,5,2]

为了提供
b = [0, 3]

我知道如何处理只有一个最小元素的情况,但是不知道如何处理多个最小元素的情况。

b = a.index(min(a))

这将使得b = 0
2个回答

11

寻找最小值,然后使用enumerate迭代列表以查找最小值:

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

1
可能是重复的问题:如何在列表中找到所有元素的出现次数? - McGrady
1
@McGrady,刚投了票。 - falsetru

3
您可以使用numpy以以下方式实现:
import numpy as np
a = np.array([2,4,5,2])
np.where(a==a.min())

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接