如何将一个队列插入另一个队列?

2024-05-16 14:16:01 发布

您现在位置:Python中文网/ 问答频道 /正文

将一个队列交错到另一个队列有哪些方法? 例如: q1=1->;2->;3,q2=a->;b->;C 在将q2交错到q1之后,我想要1->;a->;2->;b->;3->;C 我搜索到的所有答案都是关于一个接一个地将它们合并到一个新队列中,而不是改变一个队列

这就是我做的,根本不工作

def interleave(q1, q2):
   first = q1.dequeue()
   while q2.size() != 0:
     removed = q2.dequeue()
     first.enqueue(removed)
     first = first.dequeue()

提前谢谢


Tags: 方法答案gtsize队列deffirstremoved
1条回答
网友
1楼 · 发布于 2024-05-16 14:16:01

使代码正常工作的一种方法如下:

def interleave(q1, q2):
  result = queue.Queue()
  while not q1.empty() or not q2.empty():
    if not q1.empty():
      result.put(q1.get())

    if not q2.empty():
      result.put(q2.get())

  return result

有关Python队列的详细信息,请阅读https://docs.python.org/3.8/library/queue.html

相关问题 更多 >