Python 队列基本定义与使用方法
队列(Queue)是一种线性数据结构,它具有先进先出的特点。即先进入队列的元素,先出队列。
Python中的队列可以使用collections库中的deque双端队列来实现。deque是一个双向队列,支持在两端进行插入和删除操作,实现了O(1)的时间复杂度。
初始化队列
可以使用collections
库中的deque
,也可以自己定义一个队列类。
# 导入collections库中的deque模块
from collections import deque
# 初始化一个队列
queue = deque()
使用自定义的队列类:
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.insert(0, item)
def dequeue(self):
return self.items.pop()
def size(self):
return len(self.items)
# 初始化一个队列
queue = Queue()
队列元素的操作
元素插入:enqueue()
使用append()
方法可以在队列的末尾增加一个元素,对应到deque
中,使用appendleft()
方法,可以在队列的最左端插入一个元素。
# 导入collections库中的deque模块
from collections import deque
# 初始化一个队列
queue = deque()
# 在队列中插入元素
queue.append(1)
queue.append(2)
queue.appendleft(0)
# 输出当前队列中的所有元素
print(queue) # 输出 [0, 1, 2]
使用自定义的队列类:
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.insert(0, item)
def dequeue(self):
return self.items.pop()
def size(self):
return len(self.items)
# 初始化一个队列
queue = Queue()
# 在队列中插入元素
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
# 输出当前队列中的所有元素
print(queue.items) # 输出 [3, 2, 1]
元素弹出:dequeue()
使用popleft()
可以把队列最左端的元素弹出。
# 导入collections库中的deque模块
from collections import deque
# 初始化一个队列
queue = deque([0, 1, 2])
# 输出当前队列中的所有元素
print(queue) # 输出 [0, 1, 2]
# 弹出队列最左端的元素
queue.popleft()
# 输出当前队列中的所有元素
print(queue) # 输出 [1, 2]
使用自定义的队列类:
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.insert(0, item)
def dequeue(self):
return self.items.pop()
def size(self):
return len(self.items)
# 初始化一个队列
queue = Queue()
# 在队列中插入元素
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
# 输出当前队列中的所有元素
print(queue.items) # 输出 [3, 2, 1]
# 弹出队列最左端的元素
queue.dequeue()
# 输出当前队列中的所有元素
print(queue.items) # 输出 [3, 2]
判断队列是否为空:is_empty()
# 导入collections库中的deque模块
from collections import deque
# 初始化一个队列
queue = deque()
# 判断队列是否为空
print(queue.is_empty()) # 输出 True
# 在队列中插入元素
queue.append(1)
# 判断队列是否为空
print(queue.is_empty()) # 输出 False
使用自定义的队列类:
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.insert(0, item)
def dequeue(self):
return self.items.pop()
def size(self):
return len(self.items)
# 初始化一个队列
queue = Queue()
# 判断队列是否为空
print(queue.is_empty()) # 输出 True
# 在队列中插入元素
queue.enqueue(1)
# 判断队列是否为空
print(queue.is_empty()) # 输出 False
结语
以上就是 Python 中队列的基本定义与使用方法,总结起来包括初始化,元素的插入和弹出,以及判断队列是否为空。当然在实际应用中,队列的使用方法还需要根据具体场景进行把握。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 队列基本定义与使用方法【初始化、赋值、判断等】 - Python技术站