python Cookbook
Posted heyaqiong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Cookbook相关的知识,希望对你有一定的参考价值。
1.5 heapq模块实现一个优先级队列
#实现优先级队列 import heapq class PriorityQueue: def __init__(self): self._queue=[] self._index=0 def push(self,item,priority): heapq.heappush(self._queue,(-priority,self._index,item)) self._index += 1 def pop(self): return heapq.heappop(self._queue)[-1] def __get__(self):#get(),set() return self._queue class Item: def __init__(self,name): self.name=name def __repr__(self): return ‘Item({!r})‘.format(self.name) q=PriorityQueue() q.push(Item(‘foo‘),1) q.push(Item(‘bar‘),5) q.push(Item(‘spam‘),4) q.push(Item(‘grop‘),1) q.pop()#bar q.pop()#spam q.pop()#foo print(q.__get__())
以上是关于python Cookbook的主要内容,如果未能解决你的问题,请参考以下文章
Python Cookbook(第3版)中文版:15.9 用WSIG包装C代码
《Python cookbook》 “定义一个属性可由用户修改的装饰器” 笔记
Python Cookbook(第3版)中文版:14.12 调试基本的程序崩溃错误