標準ライブラリに他のキューはありますか?
-
27-10-2019 - |
質問
キューにしたい
lambda : Popen(.....)
後で電話/待つために。次に、一時停止したポーセンにさらにいくつかを加えて、再び消費します。
メインキューモジュールは同期を大切にしているため、APIは場所で少し奇妙に感じます。私は同期することを気にしません(シングルスレッドプログラム、Popenは仕事をしてエラーを例外とスローするだけで、環境に重要な方法で影響しません(ファイルを生成します)
後で追加するジェネレーターを使用するだけです。もしそうなら、ジェネレーターにアイテムを追加する良い方法は何ですか、呼び出し
gena = itertools.chain(gena,[item))
毎回は無駄に思えます。
解決
はい、Deque(Collections.deque)を使用できます。これは、どちらの端で効率的にプッシュしてポップできるリストです。また、リストを使用して、おそらく問題ではないため、非効率性について心配することもできません。
他のヒント
使用できます collections.deque:
from collections import deque
queue = deque()
queue.append(new) # append
current = queue.popleft() # first item
あなたはマルチスレッドを心配していないので、論理的な選択は collections.deque.
所属していません StackOverflow