在 Python 中如何将多个项目放入队列中

在 Python 中将多个项目放入队列中:

  1. 使用 for 循环迭代可迭代对象或范围。
  2. 在每次迭代中调用可迭代对象的 put() 方法。
  3. 将项目传递给 put() 方法。
import queue

q = queue.Queue()

my_list = list(range(10))
print(my_list)

# 👇️ iterate over list and put each item in the queue
for item in my_list:
    q.put(item)

print(q.queue)  # 👉️ deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

for item in q.queue:
    print(item)  # 👉️ 0 1 2 3 4 ...

在 Python 中如何将多个项目放入队列中

我们使用 for 循环遍历包含 10 个项目的列表,并使用 put() 方法将每个项目放入队列中。

Queue.put() 方法将一个项目放入队列中。

如果需要将 N 个项目放入队列中,也可以使用范围。

import queue

q = queue.Queue()

# 👇️ iterate over range and put each item in the queue
for item in range(10):
    q.put(item)

print(q.queue)  # 👉️ deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

for item in q.queue:
    print(item)  # 👉️ 0 1 2 3 4 ...

如果使用双端队列对象,则可以将可迭代对象直接传递给 extend() 方法。

from collections import deque

deq = deque()

my_list = list(range(10))
deq.extend(my_list)

print(deq)  # 👉️ deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

for item in deq:
    print(item)  # 0 1 2 3 4 ...

我们使用 collections.deque 类来创建一个 deque 对象。

我们还可以将 for 循环与 append() 方法一起使用。

from collections import deque

deq = deque()

print(deq)

my_list = list(range(10))

for item in my_list:
    deq.append(item)

print(deq)  # 👉️ deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

for item in deq:
    print(item)  # 👉️ 0 1 2 3 4 ...

append() 方法接受一个值并将其添加到双端队列的右侧。