在 Python 中将列表转换为队列
Convert a List to a Queue in Python
使用collections.deque
该类将列表转换为 Python 中的队列,例如
deq = deque(my_list)
. 该类deque
可以传递一个可迭代对象,例如列表,并初始化一个新deque
对象。
主程序
from collections import deque my_list = [1, 2, 3] # ✅ convert list to queue deq = deque(my_list) print(deq) # 👉️ deque([1, 2, 3]) deq.append(4) print(deq) # 👉️ deque([1, 2, 3, 4]) print(deq.pop()) # 👉️ 4 print(deq.popleft()) # 👉️ 1
collections.deque
类接受一个可迭代对象并初始化一个对象
deque
(双端队列)。
该类具有 atomic
append()
,实现该方法并支持索引和成员资格测试。 popleft()
如果您需要使用该queue
模块来创建队列,请使用for
循环将列表转换为队列。
主程序
import queue my_list = [1, 2, 3] q = queue.Queue() for item in my_list: q.put(item) print(q.queue) # 👉️ deque([1, 2, 3])
Queue.put方法将一个项目放入
队列中。
队列上的queue
属性指向一个deque
功能更全面的对象。
queue
只有在多线程环境中运行代码时,才应使用该模块。deque
以下是该类实现的一些最常用的方法。
主程序
from collections import deque my_list = [1, 2, 3] deq = deque(my_list) # 👇️ add a value to the right side of the deque deq.append(4) # 👇️ add a value to the left side of the deque deq.appendleft(0) # 👇️ extend the right side of the deque by appending the items from the iterable deq.extend([5, 6]) # 👇️ remove and return an element from the right side of the deque print(deq.pop()) # 👉️ 6 # 👇️ remove and return an element from the left side of the deque print(deq.popleft()) # 👉️ 0 print(deq) # 👉️ deque([1, 2, 3, 4, 5]) deq.clear() print(deq) # 👉️ deque([])