python基础:deque的详细使用(适合在列表两端进行操作元素)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础:deque的详细使用(适合在列表两端进行操作元素)相关的知识,希望对你有一定的参考价值。

创建双向队列

import collections
d = collections.deque()

append(往右边添加一个元素)

技术分享
import collections
d = collections.deque()
d.append(1)
d.append(2)
print(d)

#输出:deque([1, 2])
技术分享

appendleft(往左边添加一个元素)

技术分享
import collections
d = collections.deque()
d.append(1)
d.appendleft(2)
print(d)

#输出:deque([2, 1])
技术分享

clear(清空队列)

技术分享
import collections
d = collections.deque()
d.append(1)
d.clear()
print(d)

#输出:deque([])
技术分享

copy(浅拷贝)

技术分享
import collections
d = collections.deque()
d.append(1)
new_d = d.copy()
print(new_d)

#输出:deque([1])
技术分享

count(返回指定元素的出现次数)

技术分享
import collections
d = collections.deque()
d.append(1)
d.append(1)
print(d.count(1))

#输出:2
技术分享

extend(从队列右边扩展一个列表的元素)

技术分享
import collections
d = collections.deque()
d.append(1)
d.extend([3,4,5])
print(d)

#输出:deque([1, 3, 4, 5])
技术分享

extendleft(从队列左边扩展一个列表的元素)

技术分享
import collections
d = collections.deque()
d.append(1)
d.extendleft([3,4,5])
print(d)
#
# #输出:deque([5, 4, 3, 1])
技术分享

index(查找某个元素的索引位置)

技术分享
import collections
d = collections.deque()
d.extend([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
print(d)
print(d.index(‘e‘))
print(d.index(‘c‘,0,3))  #指定查找区间

#输出:deque([‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘])
#     4
#     2
技术分享

insert(在指定位置插入元素)

技术分享
import collections
d = collections.deque()
d.extend([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
d.insert(2,‘z‘)
print(d)

#输出:deque([‘a‘, ‘b‘, ‘z‘, ‘c‘, ‘d‘, ‘e‘])
技术分享

pop(获取最右边一个元素,并在队列中删除)

技术分享
import collections
d = collections.deque()
d.extend([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
x = d.pop()
print(x,d)

#输出:e deque([‘a‘, ‘b‘, ‘c‘, ‘d‘])
技术分享

popleft(获取最左边一个元素,并在队列中删除)

技术分享
import collections
d = collections.deque()
d.extend([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
x = d.popleft()
print(x,d)

#输出:a deque([‘b‘, ‘c‘, ‘d‘, ‘e‘])
技术分享

remove(删除指定元素)

技术分享
import collections
d = collections.deque()
d.extend([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
d.remove(‘c‘)
print(d)

#输出:deque([‘a‘, ‘b‘, ‘d‘, ‘e‘])
技术分享

reverse(队列反转)

技术分享
import collections
d = collections.deque()
d.extend([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
d.reverse()
print(d)

#输出:deque([‘e‘, ‘d‘, ‘c‘, ‘b‘, ‘a‘])
技术分享

rotate(把右边元素放到左边)

技术分享
import collections
d = collections.deque()
d.extend([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
d.rotate(2)   #指定次数,默认1次
print(d)

#输出:deque([‘d‘, ‘e‘, ‘a‘, ‘b‘, ‘c‘])
技术分享

以上是关于python基础:deque的详细使用(适合在列表两端进行操作元素)的主要内容,如果未能解决你的问题,请参考以下文章

这才是最适合新手的python基础教程,640页超详细(最新版python3.9)

python基础结构的时间复杂度

python基础整理笔记

适合网络攻城狮学习的Python——基础语法(列表)

python 列表之队列

Python数据类型:双端队列deque-比列表list性能更高的一种数据类型