python中如何优雅的一次性判断多个条件
这篇文章主要介绍python中如何优雅的一次性判断多个条件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
优雅的一次性判断多个条件
假如有三个条件,只要有一个为真就可以通过,也许你会这么写:
x,y,z=0,1,0ifx==1ory==1orz==1:print('passed')
实际上,以下三种方法更加Pythonic
if1in(x,y,z):print('passed')ifxoryorz:print('passed')ifany((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元素中有空tupleFalse>>>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)Helponbuilt-infunctionallinmodule__builtin__:all(...)all(iterable)->boolReturnTrueifbool(x)isTrueforallvaluesxintheiterable.Iftheiterableisempty,returnTrue.
以上是“python中如何优雅的一次性判断多个条件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注恰卡编程网行业资讯频道!