这篇文章主要介绍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中如何优雅的一次性判断多个条件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。