26 python 中deque模块详解

Posted jeavy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了26 python 中deque模块详解相关的知识,希望对你有一定的参考价值。

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

1.创建deque序列:

from collections import deque

d=deque()

2.deque提供了类似list的操作方法:

d=deque()

d.append(3)

d.append(8)

d.append(1)

那么此时

d=deque([3,8,1]),len(d)=3,d[0]=3,d[-1]=1

 

 

3.两端都使用pop:

d=deque(‘12345’)

那么

d=deque([1, 2, 3, 4, 5])

 

d.pop()抛出的是’5’,d.leftpop()抛出的是’1’,可见默认pop()抛出的是最后一个元素。

 

4.限制deque的长度

d=deque(maxlen=20)

for i in range(30):

    d.append(str(i))

此时d的值为

d=deque([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], maxlen=20)

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

 

5.添加list各项到deque中:

d=deque([1,2,3,4,5])

d.extend([0])

那么此时

d=deque([1,2,3,4,5,0])

 

d.extendleft([6,7,8])

此时

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

 

以上是关于26 python 中deque模块详解的主要内容,如果未能解决你的问题,请参考以下文章

(转)python collections模块详解

python的deque(双向)队列详解

Python Deque 模块

python 必须模块collections

26.Python文件I/Oos模块&shutil模块详解

26.Python文件I/Oos模块&shutil模块详解