python实现获取序列中最小的几个元素

yipeiwu_com6年前Python基础

本文实例讲述了python实现获取序列中最小的几个元素。分享给大家供大家参考。

具体方法如下:

import heapq 
import random 
def issorted(data): 
 data = list(data) 
 heapq.heapify(data) 
 while data: 
  yield heapq.heappop(data) 
   
alist = [x for x in range(10)] 
random.shuffle(alist) 
print 'the origin list is',alist 
print 'the min in the list is' 
for x in issorted(alist): 
 print x,

程序运行结果如下:

the origin list is [2, 3, 4, 9, 8, 5, 1, 6, 0, 7]
the min in the list is
0 1 2 3 4 5 6 7 8 9

使用了heapq模块和random模块.heapq二叉树,常用来处理优先级序列问题。

此外还有一个更为简单的方法:

print heapq.nsmallest(3,alist) #打印出alist列表中最小的三个元素最小,如果是字母就是按字母序比较

感兴趣的朋友可以测试运行本文实例,相信本文所述对大家Python程序设计的学习有一定的借鉴价值。

相关文章

python实现对文件中图片生成带标签的txt文件方法

在深度学习中经常需要生成带标签的图片名称列表,xxxlist.txt文件,下面写一个简单的python脚本生成该文件列表。 import os def generate(dir,la...

python使用心得之获得github代码库列表

1.背景 项目需求,要求获得github的repo的api,以便可以提取repo的数据进行分析。研究了一天,终于解决了这个问题,虽然效率还是比较低下。 因为github的那个显示repo...

python:print格式化输出到文件的实例

遇到一个写文件的小程序,需要把print输出改成输出到文件,遇到这个问题的思路是把需要的字符串拼接到一个字符串中,然后在写到文件中,这样做觉得很麻烦,想到之前的学的exec的使用,但是实...

python f-string式格式化听语音流程讲解

python f-string式格式化听语音流程讲解

f-string 格式化的字符串,是字符串格式化的一种,而且是最新的一种。这里收集的是它的一些基本用法。 没有限定宽度的写法:f"xxxx{ 替换字段 }xxx";  可以有多...

老生常谈python之鸭子类和多态

一、 什么是多态 <1>一种类型具有多种类型的能力 <2>允许不同的对象对同一消息做出灵活的反应 <3>以一种通用的方式对待个使用的对象 <4&...