Python3 all() 函数 - 指示列表中的所有元素是否都为真
描述
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