您的位置:首页 > 理论基础 > 数据结构算法

python中三种特殊数据结构:set集合、堆、双端队列

2016-11-08 16:29 323 查看
(1)set集合:是一个无序不重复元素集
1.>>> x & y # 交集  
2.set(['a', 'm'])  
3.  
4.>>> x | y # 并集  
5.set(['a', 'p', 's', 'h', 'm'])  
6.  
7.>>> x - y # 差集  
8.set(['p', 's'])  

t和s都为set集合
1.t.add('x')            # 添加一项   
2.s.update([10,37,42])  # 在s中添加多项  


(2)堆:heapq(在列表上操作,而且默认为小根堆,能够能快的弹出最小值
如heappush(heap,x) #将x入堆
#导入堆模块
import heapq
heap=[]
for n in range(10):
heapq.heappush(heap,n)
print heapq.nlargest(3, heap)   #返回topN大的数


(3)双端队列:在需要按照元素增加的顺序来移除元素时有用(deque)
#双端队列

from collections import deque
q=deque(range(5))
q.append(5)
q.appendleft(6)
print q
>>deque([6, 0, 1, 2, 3, 4, 5])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: