繁体   English   中英

Python相当于LINQ All函数?

[英]Python equivalent of LINQ All function?

什么是惯用的Python方法来测试集合中的所有元素是否满足条件? .NET All()方法在C#中很好地填补了这个空白。)

有明显的循环方法:

all_match = True
for x in stuff:
    if not test(x):
        all_match = False
        break

列表理解可以做到这一点,但似乎很浪费:

all_match = len([ False for x in stuff if not test(x) ]) > 0

必须有更优雅的东西......我错过了什么?

all_match = all(test(x) for x in stuff)

这种短路并不需要填充列表 - 任何可迭代的东西都可以工作 - 所以有几个不错的功能。

也有类似的

any_match = any(test(x) for x in stuff)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM