是否有一种 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/