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

被折叠的 条评论
为什么被折叠?



