8. any/all vs or/and

两种方式都可以进行联合条件的判断,但是有一些不同,or/and判断条件事一旦某一条件满足会提前结束,而any/all则不会, 因此需要看情况使用,一般判断条件小于三个用or/and,判断条件比较长时使用any/all, 但是如果判断条件存在前后顺序依赖关系或者判断比较耗时,则尽量用or/and,这样可以提前结束,节约时间

>>> b=[]
>>> len(b)>0 and b[0]==1
False
>>> all([len(b)>0, b[0]==1])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> len(b)>-1 or b[0]==1
True
>>> any([len(b)>-1, b[0]==1])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range