python3入门之 deque(双向队列)

本文介绍了Python3的deque双向队列,包括如何创建、向左右两侧添加元素、清空队列、复制、计数、扩展、查找索引、插入、弹出元素、删除指定元素、翻转及旋转操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建双向队列

>>> import collections
>>> d = collections.deque()

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

>>> d.append(1)
>>> d.append(2)
>>> d
deque([1, 2])

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

>>> d.appendleft(3)
>>> d
deque([3, 1, 2])

clear(清空队列)

>>> d
deque([3, 1, 2])
>>> d.clear()
>>> d
deque([])

copy(浅拷贝)

>>> d.append(1)
>>> d.append(2)
>>> d
deque([1, 2])
>>> d1 = d.copy()
>>> d1
deque([1, 2])

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

>>> d.append(1)
>>> d
deque([1, 2, 1])
>>> d.count(1)
2

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

>>> d.clear()
>>> d.append(1)
>>> d.extend([3,4,5])
>>> d
deque([1, 3, 4, 5])

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

>>> d.clear()
>>> d.append(1)
>>> d.extendleft([3,4,5])
>>> d
deque([5, 4, 3, 1])

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

>>> d.extend(["a","b","c","d","e"])
>>> d
deque(['a', 'b', 'c', 'd', 'e'])
>>> d.index("c",0,3) #指定查找区间
2
>>> d.index("c",0,2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'c' is not in deque

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

>>> d
deque(['a', 'b', 'c', 'd', 'e'])
>>> d.insert(2,"z")
>>> d
deque(['a', 'b', 'z', 'c', 'd', 'e'])

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

>>> d
deque(['a', 'b', 'z', 'c', 'd', 'e'])
>>> d.pop()
'e'
>>> d
deque(['a', 'b', 'z', 'c', 'd'])

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

>>> d
deque(['a', 'b', 'z', 'c', 'd'])
>>> d.popleft()
'a'
>>> d
deque(['b', 'z', 'c', 'd'])

remove(删除指定元素)

>>> d
deque(['b', 'z', 'c', 'd'])
>>>
>>> d.remove("c")
>>> d
deque(['b', 'z', 'd'])

reverse(队列翻转)

>>> d
deque(['a', 'b', 'c', 'd', 'c'])
>>> d.reverse()
>>> d
deque(['c', 'd', 'c', 'b', 'a'])

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

>>> d
deque(['c', 'd', 'c', 'b', 'a'])
>>> d.rotate(2)
>>> d
deque(['b', 'a', 'c', 'd', 'c'])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值