我有一个列表,至少有几个:
some_list = [1,4,6,4,1,7]是否有内置函数或智能解决方案来获取最小值的索引?
result = [0,4]到目前为止,我这样做了,但我更喜欢更短/更容易阅读的解决方案。
min = 10**10
result = []
for i in range(len(some_list)):
if some_list[i] < min:
min = some_list[i]
result = [i]
elif some_list[i] == min:
result.append(i)发布于 2020-03-03 14:21:25
您可以使用enumerate。
some_list = [1,4,6,4,1,7]
minimum=min(some_list)
index=[idx for idx,val in enumerate(some_list) if val==minimum]
# [0,4]发布于 2020-03-03 14:25:44
In [13]: import numpy as np
In [14]: values = np.array([1,4,6,4,1,7])
In [15]: np.where(values==values.min())
Out[15]: (array([0, 4]),)发布于 2020-03-03 14:42:00
使用列表理解来查找列表中某项的所有索引。希望这更简单。
some_list = [1,4,6,4,1,7]
result = [ i for i in range(len(some_list)) if some_list[i] == min(some_list) ]
print(result)https://stackoverflow.com/questions/60501140
复制相似问题