Python 在while循环中使用迭代器

Python 在while循环中使用迭代器,python,Python,我有一个函数foo()。如果列表为空,则函数返回False。使用while循环重复调用此函数是否有缺点?简单地在循环体中传递,似乎有点不对劲。例: while foo(): pass 此表格可能更容易理解: while items: foo() all(foo())将使用迭代器中的项,直到它接收到错误的值(或直到迭代器耗尽)。这很好,但是如果有单独的函数来获取和处理项,可能会感觉更干净(更容易测试)。我假设foo对项目做了一些处理,而不仅仅是清空队列并将其丢弃。您应该编辑和标

我有一个函数
foo()。如果列表为空,则函数返回
False
。使用
while
循环重复调用此函数是否有缺点?简单地在循环体中传递
,似乎有点不对劲。例:

while foo():
    pass

此表格可能更容易理解:

while items:
    foo()

all(foo())
将使用迭代器中的项,直到它接收到错误的值(或直到迭代器耗尽)。

这很好,但是如果有单独的函数来获取和处理项,可能会感觉更干净(更容易测试)。我假设
foo
对项目做了一些处理,而不仅仅是清空队列并将其丢弃。您应该编辑和标志以重新打开。请注意,你的问题也是相当非建设性的;你是在征求意见,而不是什么。哦,我不知道我可以要求重新开放,我对这个问题的惩罚如此之快,我认为这是一笔交易。还有一条赞成重新开放的评论被删除了,我仍然想知道一个真实的答案。我现在得到的答案是,似乎没有严重的反对意见,所以我很高兴。这个问题现在不是重复的,因为“原始”已经不存在了。