2013-02-27 100 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())将消耗物品从一个迭代(或直到迭代器是耗尽)。