检查列表中任何元素是否满足条件的Pythonic方式
我在用Python写代码,有一个列表,我想检查一下里面有没有负数。有没有什么简单的函数或者语法可以用来检查所有元素,看看有没有负数呢?我查了一下文档,没找到类似的东西。我想到的办法是:
if (True in [t < 0 for t in x]):
# do something
我觉得这个方法不太优雅。有没有更好的方法在Python中做到这一点呢?
另外,想了解如何检查列表中所有元素是否符合某个条件,可以看看如何检查列表中所有元素是否满足条件?。记住,“any”和“all”的检查是有关系的,类似于“或”和“与”的关系,这个可以参考德摩根定律。
这里已有的答案使用了内置函数any
来进行遍历。想了解any
和它的对应函数all
是怎么工作的,可以查看Python的any和all函数是如何工作的?。
如果你想检查的条件是“是否在另一个容器中”,可以参考如何检查列表中是否包含以下某个项目?,以及它的对应问题如何检查列表中是否包含以下所有项目?。使用any
和all
是可以的,但也有更高效的解决方案。