Fork me on GitHub

Python_cookbook

解决方案

1
2
3
4
5
6
7
8
from collections import deque
#deque(maxlen=N)创建一个固定长度的队列
#当有新记录加入而队列已满时会自动移除最老的那条记录
q = deque(maxlen=3)
q.appendleft()
q.popleft()
#创建无限序列
q = deque()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#寻找集合中最大或最小的N个元素
# nlargest(),nsmallest()
import heapq
nums=[1,8,2,23,7,-4,18,23,42,37,2]
print(heapq.nlargest(3,nums)) #print [42,37,23]

#将集合转换为堆,堆的特性为heap[0]总是最小的那个元素
nums=[1,8,2,23,7,-4,18,23,42,37,2]
import heapq
heap = list(nums)
heapq.heapify(heap)
#去除heap中最小值
heap.heappop(heap)
#插入元素
heap.heappush()
喜欢的可以对我打赏了哟~