千家信息网

python中如何优雅的一次性判断多个条件

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍python中如何优雅的一次性判断多个条件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!优雅的一次性判断多个条件假如有三个条件,只要有一个为真就可以通过,也许你
千家信息网最后更新 2025年01月20日python中如何优雅的一次性判断多个条件

这篇文章主要介绍python中如何优雅的一次性判断多个条件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

优雅的一次性判断多个条件

假如有三个条件,只要有一个为真就可以通过,也许你会这么写:

x, y, z = 0, 1, 0  if x == 1 or y == 1 or z == 1:     print('passed')

实际上,以下三种方法更加 Pythonic

if 1 in (x, y, z):     print('passed')  if x or y or z:     print('passed')  if any((x, y, z)):     print('passed')

最后一个用到了 Python 内置的方法 any()any 接受一个可迭代对象作为参数,比如列表或元组,只要其中一个为真,则 any() 方法返回真,用法示例如下:

>>> any(['a',(2,4),3,True])  True >>> any(['a',(2,4),3,False]) True >>> any(['a',(),3,False])    True >>> any(['',(),0,False])  False >>> any(('a',(),3,False)) True >>> any(('',(),0,False))  False ## 注意空的可迭代对象返回 False >>> any(()) False >>> any([]) False >>> any('') False >>> any({}) False

any() 对应的,就是方法 all() ,只有全部为真,才为真,注意空的可迭代对象一直返回真。

>>> all(['a',(2,4),1,True]) //list都为"真" True >>> all(['a',(),1,True])   //list元素中有空tuple False >>> all(['a',(2,4),0,True]) False >>> all(['a',(2,4),3,False]) False    ## 注意空的可迭代对象返回 True >>>all([]) True  >>> all(()) True >>> all({}) True >>> all('') True

查看帮助文档,可以在解释器输入 help:

>>> help(all) Help on built-in function all in module __builtin__:  all(...)     all(iterable) -> bool      Return True if bool(x) is True for all values x in the iterable.     If the iterable is empty, return True.

以上是"python中如何优雅的一次性判断多个条件"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0