Python Deque 模块使用详解

 

Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除.
 

创建Deque序列:

1
2
3
from collections import deque
 
d = deque()

Deque提供了类似list的操作方法:

1
2
3
4
5
6
7
d = deque()
d.append('1')
d.append('2')
d.append('3')
len(d)
d[0]
d[-1]

输出结果:

1
2
3
3
'1'
'3'

两端都使用pop:

1
2
3
4
5
d = deque('12345')
len(d)
d.popleft()
d.pop()
d

输出结果:

1
2
3
4
5
'1'
'5'
deque(['2', '3', '4'])

我们还可以限制deque的长度:

    d = deque(maxlen=30)

当限制长度的deque增加超过限制数的项时, 另一边的项会自动删除:

1
2
3
4
5
6
7
8
d = deque(maxlen=2)
d.append(1)
d.append(2)
d
d.append(3)
d
deque([1, 2], maxlen=2)
deque([2, 3], maxlen=2)

添加list中各项到deque中:

1
2
3
4
d = deque([1,2,3,4,5])
d.extendleft([0])
d.extend([6,7,8])
d

输出结果:

1
deque([0, 1, 2, 3, 4, 5, 6, 7, 8])
posted @ 2016-05-30 19:06  天涯逐梦  阅读(2235)  评论(0编辑  收藏  举报