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

yipeiwu_com6年前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虚拟环境的安装和配置(virtualenv,virtualenvwrapper)

python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)

一、为什么要安装虚拟环境     情景一、项目A需要某个库的1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要来回的卸...

Python自动化导出zabbix数据并发邮件脚本

Python自动化导出zabbix数据并发邮件脚本

Zabbix没有报表导出的功能,于是通过编写脚本导出zabbix数据并发邮件。效果如下: 下面是脚本,可根据自己的具体情况修改: #!/usr/bin/python` `#codi...

python创建文件时去掉非法字符的方法

windows系统中文件名不能包含 \ / : * ? " < > |想要创建必须过滤掉这些字符 def setFileTitle(self,title):...

pyqt 实现在Widgets中显示图片和文字的方法

pyqt 实现在Widgets中显示图片和文字的方法

思路非常简单:<p>创建window,设置窗口大小,创建label1,导入图片,创建label2,导入文字,show,结束!</p> import sys...

理想高通滤波实现Python opencv示例

理想高通滤波实现Python opencv示例

理想高通滤波实现 python opencv import numpy as np import cv2 from matplotlib import pyplot as plt...