python 3 any/all逻辑运算(多个元素与或)用法
1、首先,我们可以用and运算拼接多个逻辑表达式。如图所示。当变量x本身作为逻辑表达式时,如果是数值,非零则为真。
2、在这里,使用all和连续使用and效果相同,使用any和连续使用or效果相同。
3、al盟敢势袂l、any函数在处理非数值类型时,和逻辑表达式的处理相同。空列表、字典为False,飞空为True。None为False。
4、对于自定义的类,只要对象存在,即为True,如图所示,即使对象obj内不含任何数据。
5、有可能列表元素在估值过程中,都是逻辑True,但是被哜绠庀钟估值后,出现逻辑上为False的项,如下所示。由于传入any/all函数的是估值后的列表,所以结果如下。
6、当传入的不是列表/元组,而是生成器时(生成器也是iterable),情况会复杂一些。将如图所示的生成器传如any/all,可以发现any/all是取一项估值一项。如果逻辑值已经确定,直接短路返回。
7、同样的,使用and 和 or效果仍然类似,可见python中的and和or也是短路计算的。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:24
阅读量:27
阅读量:82
阅读量:82
阅读量:84