2013-02-27 156 views
0

我有一個函數foo(),它清空了一個項目隊列,N.B.,而不是Queue(),只是一個項目列表。如果列表爲空,該函數返回False。使用while循環重複調用此函數有沒有缺點?簡單的pass在循環體中看起來有點不合適。例:在while循環中使用迭代器

while foo(): 
    pass 
+0

這很好,但如果有單獨的獲取項目和處理它的函數,可能會感覺更乾淨(並且更容易測試)。我假設'foo'對物品做了些什麼,而不僅僅是排空隊列並將其扔掉。 – 2013-02-27 15:39:44

+0

您應該編輯您的[上一個問題](http://stackoverflow.com/questions/15114177/python-valid-while-loop-usage)並標記重新打開。請注意,你的問題也是非建設性的;你比什麼都要求意見。 – 2013-02-27 15:40:58

+0

哦,我不知道我可以要求重新開放,對於這個問題我的懲罰很快,我認爲這是一個完成的交易。還有一條贊成重新開放的評論被刪除,我仍然對一個實際的答案感到好奇。我現在的答案是,似乎沒有嚴重的反對意見,所以我很高興。 – noio 2013-02-27 16:19:55

回答

1

這種形式可以是更易於理解:直到它接收falsey值

while items: 
    foo() 
0

all(foo())將消耗物品從一個迭代(或直到迭代器是耗盡)。