アイテムを削除せずにキュー内のアイテムを取得するにはどうすればいいですか? 質問する

アイテムを削除せずにキュー内のアイテムを取得するにはどうすればいいですか? 質問する

得る()アイテムを削除して返しますPython で。

import queue

q = queue.Queue() # Here

q.put("Apple")
q.put("Orange")
q.put("Banana")

print(q.get())
print(q.get())
print(q.get())

出力:

Apple
Orange
Banana

さて、アイテムを入手したいのですがアイテムを削除せずに。

これは可能ですか?

ベストアンサー1

queue_object.queue は、キューのコピーを deque オブジェクトで返します。このオブジェクトからスライスを使用できます。もちろん、元のキューと同期はされませんが、コピー時にキューを覗くことができます。

このスレッドでは、なぜこれをしたくないのかという理由が詳しく説明されています。comp.lang.python - キューを覗いてみませんか?ただし、Queue の仕組みを理解したいだけであれば、これが簡単な方法の 1 つです。

import Queue
q = Queue.Queue()
q.push(1)
q.put('foo')
q.put('bar')
d = q.queue
print(d)
deque(['foo', 'bar'])
print(d[0])
'foo'

おすすめ記事