python - 应用于可迭代对象的每个元素的 bool 语句分支

标签 python list python-3.x conventions

是否有一种 Pythonic 的方式来说明“这个可迭代对象中的任何元素都是如此”?或者,换句话说,是否有更简洁的版本:

if [True for x in mylist if my_condition(x)]:
    ...

最佳答案

您可以使用 any :

>>> mylist = [1, 2, 3]
>>> any(x > 4 for x in mylist)
False
>>> any(x % 2 == 0 for x in mylist)
True

if any(my_condition(x) for x in mylist):
    ....

注意:使用 generator expression而不是列表理解,您不需要评估所有项目。

关于python - 应用于可迭代对象的每个元素的 bool 语句分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27851577/

相关文章:

python - 仅当测试通过时才在 git 中提交

python - 在 Pygame 中检测多边形和矩形之间的碰撞

Java:同步列表

java - 打印列表中除最后一个值之外的所有值。

python - 为什么我的 .after 没有按预期工作?

python-3.x - 如何根据列表中的单词创建新的 Pandas 列

python - 我需要代表类(class)吗?

python - 干草堆索引错误

python - 如何访问字典中的第一个和最后一个元素?

java - 根据输入参数获取Java列表