python 队列

本文深入讲解了Python中队列的概念,包括队列的基本操作如入队、出队、读取队头元素等,并详细介绍了使用Python内置的deque类实现队列的方法。同时,文章还列举了deque类的多种操作,如append、pop、rotate等,帮助读者全面掌握Python队列的使用。

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

python 队列

一、队列

队列是先进先出(FIFO—first in first out)线性表,特殊之处在于它只允许在队头(表的前端(front))进行删除操作(出队),而在列尾(表的后端(rear))进行插入操作(入队)。
空队列:队列中没有元素。

二、队列操作:

1、初始化队列(包括空队列)
2、入队操作
3、出队操作:当
4、读队头元素
5、判队空操作

三、队列的python实现

(一)导入队列模块

from collections import deque

(二)队列的操作

1、创建队列

(1) 格式:deque([iterable[, maxlen]])
(2)创建队列对象
建立空队列

>>> emptyDeque = deque()
>>> emptyDeque
deque([])

建立从其他迭代器建立队列

>>> MyDeque = deque (["i1","i2","i3","i4"],3)
>>> MyDeque
deque(['i2', 'i3', 'i4'], maxlen=3)
2、出队

(1)提出两种出队形式:deque.pop() (从右端出队) deque.popleft(从左端出队),若队列为空,会产生异常(Index Error)
(2)

>>> MyDeque
deque(['i2', 'i3', 'i4'], maxlen=3)
>>> MyDeque.pop()
'i4'
>>> MyDeque
deque(['i2', 'i3'], maxlen=3)
>>> MyDeque.popleft()
'i2'
3、入队

(1)提出两种出队形式:deque.append() (从右端出队) deque.appendleft(从左端出队)
(2)

>>> mydeque
deque([])
>>> mydeque.append(1)
>>> mydeque
deque([1])
>>> mydeque.append(2)
>>> mydeque
deque([1, 2])
>>> mydeque.appendleft(0)
>>> mydeque
deque([0, 1, 2])
4、取队尾或队首元素信息

1、使用列表的索引 deque[0[, deque[-1],若空队列会产生索引异常。
2、

>>> mydeque
deque([0, 1, 2])
>>> mydeque[0]
0
>>> mydeque[-1]
2
5、判断队列是否为空

1、使用列表len(deque) ,结果为0就为空
2、

>>> mydeque
deque([])
>>> len(mydeque)
0
总结:

通过 pop ,apendleft 或者popleft ,append相互配合就可以实现队列的基本操作。

四、deque的常用操作

相比列表(list)添加 popleft()、appendleft() 、rotate(),其他和列表都一样。

项目操作说明
创建deque()包括空队列
clear()清空队列
copy()队列的副本(=浅拷贝)
操作符[]索引(访问、更新、删除)
+联接两个队列
*重复队列
关系运算符表示两个队列的关系
增加元素append(value)在队列右端增加元素
appendleft(value)在队列左端增加元素
extend(seq)在把seq添加到队列右端
extendleft(seq)把seq添加到队列左端
insert(index,value在相应位置插入元素
减少元素pop从队列右端取出元素并返回
popleft从队列左端取出元素并返回
remove(value)从队列删除value
del de[index]从队列删除index索引位置的元素
clear清空队列
查询count查询元素在队列出现次数
index()元素在队列首次出现的索引
排序reverse队列倒序排列
rotate队列首尾循环一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值