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设计】。

相关文章

pytorch训练imagenet分类的方法

1、imagenet数据准备: a、下载数据集 b、提取training data: mkdir train && mv ILSVRC2012_img_train.tar train...

python刷投票的脚本实现代码

原理就是用代理IP去访问投票地址。用到了多线程,速度飞快。 昨晚两个小时就刷了1000多票了,主要是代理IP不好找。 2.7环境下运行 #!/usr/bin/env python...

python虚拟环境的安装配置图文教程

python虚拟环境的安装配置图文教程

使用pip安装     pip install virtualenv 因为已经安装过了,所以显示这样 在这里我想在这里推荐大家以后再安装类库时可以用豆瓣源来安装,速...

pip和pygal的安装实例教程 原创

pip和pygal的安装实例教程 原创

本文分为两个部分,第一部分是关于pip,第二部分关于pygal,主要关于二者的简介以及安装过程的分享,希望对大家有所帮助。 一、pip 1.简介 pip 是一个安装和管理 Python...

用python打印菱形的实操方法和代码

python怎么打印菱形?下面给大家带来三种方法: 第一种 rows = int(input('请输入菱形边长:\n')) row = 1 while row <= row...