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

yipeiwu_com7年前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实现简单的可逆加密程序实例

本文实例讲述了Python实现简单的可逆加密程序。分享给大家供大家参考。具体如下: Python代码如下: 复制代码 代码如下:#coding=utf-8   ''...

在Python中使用模块的教程

Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env python...

在macOS上搭建python环境的实现方法

在macOS上搭建python环境的实现方法

今天刚接触python,查看了一些环境建立的文章,可能是年代久远很多都不适用,现在mac搭建python环境变得更简单。大神勿喷。 首先去python官网下载anaconda,我下载的是...

Python matplotlib的使用并自定义colormap的方法

0.前言 添加colormap的对象是灰度图,可以变成热量图,从而更加明显的发现一些规律,适用于一些雷达图像等 from PIL import Image # 将彩色图片转换成黑白图...

Python基于pygame实现单机版五子棋对战

Python基于pygame实现单机版五子棋对战

python实现的五子棋,能够自动判断输赢,没有是实现电脑对战功能 源码下载:pygame五子棋 # 1、引入pygame 和 pygame.locals import pygame...