如下所示:
nums = [1,8,2,23,7,-4,18,23,24,37,2]
result = map(nums.index, heapq.nlargest(3, nums))
temp=[]
Inf = 0
for i in range(3):
temp.append(nums.index(max(nums)))
nums[nums.index(max(nums))]=Inf
result.sort()
temp.sort()
print(result)
print(temp)
如上,有result和temp两种求法,上面代码输出:
[3, 8, 9]
[3, 8, 9]
没问题
但是把nums改一下:
nums = [1,8,2,23,7,-4,18,23,23,37,2]
输出:
[3, 3, 9]
[3, 7, 9]
发现问题了吧,result方法发现相同数字永远会返回第一次出现的索引。
以上这篇python 找出list中最大或者最小几个数的索引方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。