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

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

描述

all() ​函数用于判断一个列表中的所有元素是否为真(True)。

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

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

为了便于理解,上述文本中使用了列表作为可迭代对象的替换。实际上这是片面的,​all()​函数接受的参数为可迭代的对象(iterable ),也就是说,以下这些类型都可以作为all()的参数:

1.list,tuple,dict、set、str
2.generator,带yield的generator function,统称为iterator。生成器可以使用for可以被next函数调用并返回下一个值。

函数等价于:

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

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

语法

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

all(iterable)

参数

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

返回值

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

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


实例

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

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

运行结果为:

True
False
False
True
False
False
True
True
True
True