Python标准库模块之heapq
- 创建堆
heapq有两种方式创建堆, 一种是使用一个空列表,然后使用heapq.heappush()函数把值加入堆中,另外一种就是使用heap.heapify(list)转换列表成为堆结构
#创建堆方法1
import heapq
list=[12,1,53,33,123,2,52,98]
heap=[]
#将List中各元素依次放入堆中
for item in list:
heapq.heappush(heap,item)
#print(heap[0]) #打印出堆中最小值
print([heapq.heappop(heap) for _ in range(len(list))]) #堆排序结果
#创建堆方法2
list=[12,1,53,33,123,2,52,98]
heapq.heapify(list)
for _ in range(len(list)):
print(heapq.heappop(heap)) #每次弹出堆中最小值
Python标准库模块之heapq的更多相关文章
- Python标准库模块之heapq – 堆构造
Python标准库模块之heapq – 堆构造 读前福利:几百本经典书籍https://www.johngo689.com/2158/ 原文链接:https://www.johngo689.com/2 ...
- 【python标准库模块一】时间模块time学习
本文介绍python的标准库模块time的常见用法 时间模块time 导入时间模块 import time 得到时间戳,这是统计从1970年1月1日0点0分到现在经过了多少秒,一般用于加减法一起用,比 ...
- 【python标准库模块五】Xml模块学习
Xml模块 xml本身是一种格式规范,是一种包含了数据以及数据说明的文本格式规范.在json没有兴起之前各行各业进行数据交换的时候用的就是这个.目前在金融行业也在广泛在运用. 举个简单的例子,xml是 ...
- 【python标准库模块四】Json模块和Pickle模块学习
Json模块 原来有个eval函数能能够从字符串中提取出对应的数据类型,比如"{"name":"zhangsan"}",可以提取出一个字典. ...
- 【python标准库模块三】Os模块和Sys模块学习
Os模块 导入os模块 import os 获取当前工作目录 os.getcwd() 切换目录,跟linux中的cd一样 os.chdir("文件夹名") 递归生成文件夹 os.m ...
- 【python标准库模块二】random模块学习
random模块是用来生成随机数的模块 导入random模块 import random 生成一个0~1的随机数,浮点数 #随机生成一个0~1的随机数 print(random.random()) 生 ...
- [python标准库]Pickle模块
Pickle-------python对象序列化 本文主要阐述以下几点: 1.pickle模块简介 2.pickle模块提供的方法 3.注意事项 4.实例解析 1.pickle模块简介 The pic ...
- [python标准库]XML模块
1.什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词. ...
- Python 标准库 ConfigParser 模块 的使用
Python 标准库 ConfigParser 模块 的使用 demo #!/usr/bin/env python # coding=utf-8 import ConfigParser import ...
- Python标准库笔记(11) — Operator模块
Operator--标准功能性操作符接口. 代码中使用迭代器时,有时必须要为一个简单表达式创建函数.有些情况这些函数可以用一个lambda函数实现,但是对于某些操作,根本没必要去写一个新的函数.因此o ...
随机推荐
- vue父子组件传值的方式
给子组件传值: this.$refs.child.xx(query); 调用父组件的方法:this.$parent.xx();
- Server2008通过bat命令自动定时备份MySQL数据库
第一种方法: 环境: MySQL 安装位置:D:\MySQL 论坛数据库名称为:Db_Test 数据库备份目的地:D:\db_bak\ 1.首先新建一个bat文件 rem ************** ...
- web-bootstrap-button
20:51:55 页面上两个button 并列,且空出间隔.
- element table 表格嵌套
/////////////////////////// 代码如下 <template> <div class="report-forms-page"> & ...
- 李光耀观天下.PDF
书本详情 李光耀观天下作者: 李光耀出版社: 北京大学出版社原作名: 李光耀观天下出版年: 2015-6页数: 299装帧: 平装ISBN: 978730125751
- 关于.NET CORE 的 swagger 分组简单使用
在避免swagger接口过多时,可以使用分组进行功能区分 简单三部曲 1.添加分组和级别名称 services.AddSwaggerGen(c => { #region swagger分组 c. ...
- Python学习笔记(五)if分支语句
一.if语法 示例: 1 money = int(input('请输入余额:')) 2 if money >= 5: 3 print('买得起!') 4 5 if True: 6 print(' ...
- 链路状态通告类型知识学习总结,LSA(Link State Advertisement)
链路状态通告类型知识总结,LSA(Link State Advertisement) 一.相关解释,个人相关看法: OSPF是通过LSA数据报文来联系关联路由器,交换信息,同步数据,在此基础上,各路由 ...
- 01 流程控制之for循环
'''1.什么是for循环 循环就是重复做某件事,for循环是python提供第二种循环机制2.为何要有for循环 理论上for循环能做的事情,while循环都可以做 之所以要有for循环,是因为fo ...
- git 修改 .gitignore 不生效
在使用 Git 时候,发现在 .gitignore 文件中添加内容后,推送成功后并没有生效. 出错原因: .gitignore 文件的内容不对历史文件生效 情景复现: 1. 远端已经有了 .idea ...