欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python函数any()和all()的用法及区别介绍

程序员文章站 2022-10-23 12:07:21
引子 平常的文本处理工作中,我经常会遇到这么一种情况:用python判断一个string是否包含一个list里的元素。 这时候使用python的内置函数any()会非常...

引子

平常的文本处理工作中,我经常会遇到这么一种情况:用python判断一个string是否包含一个list里的元素。

这时候使用python的内置函数any()会非常的简洁:

fruits = ['apple', 'orange', 'peach']
str = "i want some apples"
if any(element in str for element in fruits):
  print "string contains some fruits."

any()

其实any函数非常简单:判断一个tuple或者list是否全为空,0,false。如果全为空,0,false,则返回false;如果不全为空,则返回true。

all()

all函数正好和any相反:判断一个tuple或者list是否全为不为空,0,false。如果全不为空,则返回true;否则返回false。

这里需要注意的是,空tuple和空list的返回值是true

python中内建函数all()和any()的区别

all(x) 是针对x对象的元素而言,如果all(x)参数x对象的所有元素不为0、”、false或者x为空对象,则返回true,否则返回false
如:

in [25]: all(['a', 'b', 'c', 'd']) #列表list,元素都不为空或0
out[25]: true
in [26]: all(['a', 'b', '', 'd']) #列表list,存在一个为空的元素
out[26]: false
in [27]: all([0, 1,2, 3]) #列表list,存在一个为0的元素
out[27]: false
in [28]: all(('a', 'b', 'c', 'd')) #元组tuple,元素都不为空或0
out[28]: true
in [29]: all(('a', 'b', '', 'd')) #元组tuple,存在一个为空的元素
out[29]: false
in [30]: all((0, 1,2, 3)) #元组tuple,存在一个为0的元素
out[30]: false
in [31]: all([]) # 空列表
out[31]: true
in [32]: all(()) # 空元组
out[32]: true

any(x)是判断x对象是否为空对象,如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true

in [33]: any(['a', 'b', 'c', 'd']) #列表list,元素都不为空或0
out[33]: true
in [34]: any(['a', 'b', '', 'd']) #列表list,存在一个为空的元素
out[34]: true
in [35]: any((0,1)) #元组tuple,存在一个为空的元素
out[35]: true
in [36]: any((0,'')) #元组tuple,元素都为空
out[36]: false
in [37]: any(()) # 空元组
out[37]: false
in [38]: any([]) # 空列表
out[38]: false

总结

以上所述是小编给大家介绍的python函数any()和all()的用法及区别介绍 ,希望对大家有所帮助