Python 第三天
2018-04-12 17:33
169 查看
heapq:
import heapq
heapq.heappush(Head1,item):head1 定义的head 。item 增加的值
通过heappush 排序
def heappush(sortlist):
h=[]
for i in sortlist:
heapq.heappush(h,i)
return h
heapq.heappop(Head) :删除第一个值head[0]
H=[8,3,4,6,2,10]
heapq.heappop(H)
print(H)
heapq.heappop(Head)
heapq.heappushpop(head,item):把item加入head 然后删除第一个值,比先push然后pop快
heapq.nlargest(n,head) n代表前多少个最大值,一个数组类型
heapq.msmallest(n,head) n代表前多少个最小值,一个数组类型
heapq.merge(*iterables) 将多个列表合并,并进行堆调整,返回的是合并后的列表的迭代器
eg:
number=[100,8,19,21]
number2=[12,45,6,23]
H=[]
H=list(heapq.merge(number,number2))
print(H):[12,45,6,23,100,8,19,21]
heapq.heapreplace(heap, item) #删除最小元素值,添加新的元素值
heapq.heapify(x) 将列表x进行堆调整,默认的是小顶堆
如果你仅仅想查找唯一的最小或最大(N=1) 的元素的话,那么使用min() 和
max() 函数会更快些。类似的,如果N 的大小和集合大小接近的时候,通常先排序这
个集合然后再使用切片操作会更快点( sorted(items)[:N] 或者是sorted(items)[-
N:] )。需要在正确场合使用函数nlargest() 和nsmallest() 才能发挥它们的优势(如果
N 快接近集合大小了,那么使用排序操作会更好些)。
import heapq
heapq.heappush(Head1,item):head1 定义的head 。item 增加的值
通过heappush 排序
def heappush(sortlist):
h=[]
for i in sortlist:
heapq.heappush(h,i)
return h
heapq.heappop(Head) :删除第一个值head[0]
H=[8,3,4,6,2,10]
heapq.heappop(H)
print(H)
heapq.heappop(Head)
heapq.heappushpop(head,item):把item加入head 然后删除第一个值,比先push然后pop快
heapq.nlargest(n,head) n代表前多少个最大值,一个数组类型
heapq.msmallest(n,head) n代表前多少个最小值,一个数组类型
heapq.merge(*iterables) 将多个列表合并,并进行堆调整,返回的是合并后的列表的迭代器
eg:
number=[100,8,19,21]
number2=[12,45,6,23]
H=[]
H=list(heapq.merge(number,number2))
print(H):[12,45,6,23,100,8,19,21]
heapq.heapreplace(heap, item) #删除最小元素值,添加新的元素值
heapq.heapify(x) 将列表x进行堆调整,默认的是小顶堆
如果你仅仅想查找唯一的最小或最大(N=1) 的元素的话,那么使用min() 和
max() 函数会更快些。类似的,如果N 的大小和集合大小接近的时候,通常先排序这
个集合然后再使用切片操作会更快点( sorted(items)[:N] 或者是sorted(items)[-
N:] )。需要在正确场合使用函数nlargest() 和nsmallest() 才能发挥它们的优势(如果
N 快接近集合大小了,那么使用排序操作会更好些)。
相关文章推荐
- python(第三天):Keyword-Only参数
- python 第三天学习记录
- python学习之路-第三天-函数
- 初学Python第三天
- python第三天---collections类
- PYTHON学习第三天[脑图]
- opencv python 学习第三天 图片腐蚀和膨胀
- 笨方法学python(本文为阅读时从此书摘录的笔记) 第三天
- python学习第三天 --布尔类型
- Python第三天课后作业
- Python 学习第三天
- 我的python学习--第三天
- Python基础-第三天
- python学习——第三天
- Python第三天课后作业
- 编程语言之python学习第三天
- Python入门学习笔记第三天
- 用python数据处理第三天
- Python——通过while、for、if—else完成一个小程序 学Python的第三天,郑老师让我们写一个计算车费的小程序,还好之前有写小程序的基础,然后很快就完成了,下面是相关内容(^_^)
- Python学习日记 第三天