首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定列表中的几个最小值?

如何确定列表中的几个最小值?
EN

Stack Overflow用户
提问于 2020-03-03 14:19:02
回答 3查看 155关注 0票数 3

我有一个列表,至少有几个:

代码语言:javascript
复制
some_list = [1,4,6,4,1,7]

是否有内置函数或智能解决方案来获取最小值的索引?

代码语言:javascript
复制
result = [0,4]

到目前为止,我这样做了,但我更喜欢更短/更容易阅读的解决方案。

代码语言:javascript
复制
 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)
EN

回答 3

Stack Overflow用户

发布于 2020-03-03 14:21:25

您可以使用enumerate

代码语言:javascript
复制
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]
票数 12
EN

Stack Overflow用户

发布于 2020-03-03 14:25:44

代码语言:javascript
复制
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]),)
票数 4
EN

Stack Overflow用户

发布于 2020-03-03 14:42:00

使用列表理解来查找列表中某项的所有索引。希望这更简单。

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60501140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档