2011-12-03 51 views
-1

我要排隊標準庫中是否還有其他隊列?

lambda : Popen(.....) 

呼叫/等待在以後的時間。 然後添加更多暫停的Popens到隊列中, 然後再次消耗它們,等等。

主隊列模塊關心很多關於同步,這使得 api感覺有點奇怪的地方。我不關心同步(單線程 程序,POPEN只是做錯誤的工作,並拋出異常,並不會影響 任何重要途徑環境(它們生成的文件)

我應該使用發電機,我給它添加在稍後的時間。 如果有啥添加項目到發電機的好辦法,呼籲

gena = itertools.chain(gena,[item)) 

每次似乎wastefull。

+0

問:是因爲不好的描述或downvote? –

+0

缺乏研究。 Google搜索「Python隊列」將返回所需的答案作爲第二個條目,緊跟在Queue類之後。在圖書館參考手冊中的單詞搜索隊列中,在點擊目錄中的heapq和隊列後,在collections部分找到deque。 – Dave

+0

我試過並錯過了,也許是因爲我累了。我記得像「使用列表作爲隊列也是可能的」,但是前一段時間用它來讀取它,但是當我再次找不到它時,我搜索了文檔。 –

回答

3

是的,你可以使用雙端隊列(收藏.deque),這是一個您可以有效地推送和彈出的列表 結束。您也可以使用列表,而不必擔心效率低下,因爲它可能無關緊要。

+0

好啊 - 我願意[泵你](http://www.hulu.com/watch/4184/saturday-night-live-pumping-up-with-hans-and-franz) – Dave

3

您可以使用collections.deque

from collections import deque 

queue = deque() 
queue.append(new) # append 
current = queue.popleft() # first item 
+0

好啊,[[少女漫畫](http://www.hulu.com/watch/4184/saturday-night-live-pumping-up-with-hans-and-franz) – Dave

相關問題