collections.deque()简介

collections模块 ==> Python标准库,数据结构用的模块;collections包含了一些特殊的容器,针对Python内置的容器,例如list、dict、set和tuple,提供了另一种选择。

 

collections.deque():

deque是栈和队列的一种广义实现,deque是"double-end queue"的简称;deque支持线程安全、有效内存地以近似O(1)的性能在deque的两端插入和删除元素,尽管list也支持相似的操作,但是它主要在固定长度操作上的优化,从而在pop(0)和insert(0,v)(会改变数据的位置和大小)上有O(n)的时间复杂度。

 

常用方法包含如下:

1、append():

从右端添加元素,与list相同

 

 2、appendleft():

从左端添加元素

 

 3、extend():

从右端逐个添加可迭代对象,与list相同,Python中的可迭代对象有:列表、元组、字典、字符串

 4、extendleft():

从左端逐个添加可迭代对象,Python中的可迭代对象有:列表、元组、字典、字符串

 

 5、pop():

移除列表中的一个元素(默认最右端的一个元素),并且返回该元素的值(与list同),如果没有元素,将会报出IndexError

6.popleft():

移除列表中的一个元素(默认最左端的一个元素),并且返回该元素的值,如果没有元素,将会报出IndexError

 

 7、count():

统计队列中的元素个数(与list同

8、insert(index,obj):

在指定位置插入元素(list同)

9、rotate(n):

rotate(n), 从右侧反转n步,如果n为负数,则从左侧反转。
d.rotate(1) 等于 d.appendleft(d.pop())

10、maxlen:

只读的属性,deque限定的最大长度,如果无,就返回None。
当限制长度的deque增加超过限制数的项时, 另一边的项会自动删除。

11、remove():

移除第一次出现的元素,如果没有找到,报出ValueError

 

 12、clear()

将deque中的元素全部删除,最后长度为0

 

posted @ 2022-04-05 22:19  奔跑的番茄汁  阅读(1466)  评论(0编辑  收藏  举报