5

假设您有一个可迭代的thing对象序列,称为things. 每个thing都有一个方法is_whatever(),如果它满足“任何”标准,则返回 True。我想有效地找出是否有任何项目things是什么。

这就是我现在正在做的事情:

any_item_is_whatever = True in (item.is_whatever() for item in items)

这是一种有效的方法吗,即 Python 将在找到第一个 True 结果后立即停止从可迭代项生成项目?从风格上讲,它是pythonic吗?

4

1 回答 1

12

您应该使用内置函数any()

any_item_is_whatever = any(item.is_whatever() for item in items)
于 2012-08-09T17:51:38.393 回答