Python all()内置函数 --判断可迭代对象中所有元素的真与假

如果可迭代对象的 所有元素 都为真值或者可迭代对象 为空 (空字符串、空列表、空元组)则返回 True ,否则返回 False

格式及参数

1
all(iterable)

iterable:可迭代对象,包括字符串、列表、元组

等价于

1
2
3
4
5
def all(iterable):
for element in iterable:
if not element:
return False
return True

为假(False)的数据共有6种:

布尔值 整数0 空字符串 空列表 空字典 空值
False 0 '' [] {} None

实例(3.8.8)

可迭代对象为空

1
2
3
4
5
6
7
8
9
10
11
a = ''      # 空字符串
b = [] # 空列表
c = () # 空元组

print(all(a))
print(all(b))
print(all(c))

# True
# True
# True

可迭代对象的所有元素均为真值

1
2
3
4
5
6
7
8
9
10
11
12
a = '0'
b = [1314, '雨园']
# 元组括号内的所有元素都是字符串,为真
c = ('0', 'False', 'None')

print(all(a))
print(all(b))
print(all(c))

# True
# True
# True

可迭代对象的某一元素为假值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
a = [0, '雨园']         # 整数0
b = [False, '雨园'] # 布尔值False
c = (None, '雨园') # 空值None
d = ('', '雨园') # 空字符串''

print(all(a))
print(all(b))
print(all(c))
print(all(d))

# False
# False
# False
# False

扩展

如果查找某个条件是否满足集合中的所有项目

1
2
3
4
5
a = 1
b = [2, 3, 1, 6]
c = all(i == a for i in b)

print(c) # False