python中的any和all

  1. any接受一个可以iterable的对象,如果有一个为真,就返回True;全部为假的时候就返回False
  2. all也是接受一个可以iterable的对象,但是呢,全部为真,才返回True;有一个为假就返回False。
all((1,2,3))
True
all(range(9))
False
any(range(9))
True

python里面的真假是很有意思的

  1. 对于数字来说,非零即为假
  2. 字符串列表元组都是非空即为真

这个东西很常用,可以不通过判断一个字符串与空相等来判断该字符串是否为空,这句话有点拗口。

下面有例子可以解释

例如,平常可能经常用来判断字符串a是否为空的语句如下

if a=='':
    process1(a)
else:
    process2(a)

可以更简洁的换成:

if a:
    process1(a)
else:
    process2(a)

同理,那句拗口的话中的字符串可以换成列表或者元组(元组没用过,,,,)。

猜你喜欢

转载自blog.csdn.net/hsc_1/article/details/80363869