Python3 入门教程 Python3 any() 函数 - 指示列表中的所有元素是否都为假

2024-02-25 开发教程 Python3 入门教程 匿名 3

描述

​any() ​​函数用于判断一个列表中的所有元素是否为假(False)。

如果列表中的所有元素都为假(True或者可以转换为True),则返回False,否则返回True

注:元素除了 0、空、None、False 外都算 True。

为了便于理解,上述文本中使用了列表作为可迭代对象的替换。实际上这是片面的,​​any()​​函数接受的参数为可迭代的对象(iterable ),也就是说,以下这些类型都可以作为​any()​的参数:
1.list,tuple,dict、set、str
2.generator,带​yield​的generator function,统称为iterator。生成器可以使用​for​可以被​next​函数调用并返回下一个值。

函数等价于:

def any(iterable):
for element in iterable:
if element:
return True
return False

它与​all()​函数是一对功能相反的函数,可以简单的记为:​all()​全真才真,​any()​全假才假(刚好与与运算和或运算类似)

语法

以下是 ​any() ​方法的语法:

any(iterable)

参数

  • iterable -- 可迭代的参数,包括.list,tuple,dict、set、str以及生成器生成的iterable对象。

返回值

如果iterable的所有元素都为​0​、​''​、​False​或者iterable为空,all(iterable)返回False,否则返回True;

注意:空元组、空列表,空字符串返回值为False,这里要特别注意。


实例

以下展示了使用​any()​ 方法的实例:

print(any(['a', 'b', 'c', 'd']))  # 列表list,元素都不为空或0
# 返回 True
print(any(['a', 'b', '', 'd'])) # 列表list,存在一个为空的元素
# 返回False
print(any([0, "" , False,None])) # 列表list,元素都为空或0或False或None
# 返回False
print(any(('a', 'b', 'c', 'd'))) # 元组tuple,元素都不为空或0
# 返回 True
print(any(('a', 'b', '', 'd'))) # 元组tuple,存在一个为空的元素
#返回 Ture
print(any((0, "" , False,None))) # 元组tuple,元素都为空或0或False或None
# 返回 False
print(any("w3cschool001")) # 字符串也是可迭代对象,可以作为any()的参数
# 返回 True
print(any('0')) #字符串的0不算False
# 返回 True
print(any('')) # 空字符串会返回False
# 返回 False
print(any([])) # 空列表
# 返回 False
print(any(())) # 空元组
# 返回 False

运行结果如下:

True
True
False
True
True
False
True
True
False
False
False