python 找出list中最大或者最小几个数的索引方法

yipeiwu_com7年前Python基础

如下所示:

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中最大或者最小几个数的索引方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)

Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)

一、准备工作: 安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作。 pywin32的具体安装及注意事项: 1、整体开发环境: 基于wind...

Django中reverse反转并且传递参数的方法

在写项目的过程中,有些函数不可避免的需要传入参数进去,所以我们在使用reverse进行反转时也需要传递参数。这个时候我们就可以使用 ‘reverse()' 中的 kwargs 参数了,它...

Python中用sleep()方法操作时间的教程

 mktime()方法是localtime()反函数。它的参数是struct_time或全9元组,它返回一个浮点数,为了兼容时time()。 如果输入值不能表示为有效的时间,那...

解决python xlrd无法读取excel文件的问题

读取文件时报错: xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; fo...

python读取word文档,插入mysql数据库的示例代码

python读取word文档,插入mysql数据库的示例代码

表格内容如下: 1、实现批量导入word文档,取文档标题中的数字作为编号 2、除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -...