Python any()内置函数 --判断可迭代对象中某个元素的真与假

如果可迭代对象的元素 有一个 为真值则返回 True ,否则返回 False

格式及参数

1
any(iterable)

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

等价于

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

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

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

实例(3.8.8)

可迭代对象为空

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

print(any(a))
print(any(b))
print(any(c))

# False
# False
# False

可迭代对象的元素均为假值

1
2
3
4
5
6
7
8
b = ['', 0, False, None]
c = ('', 0, False, None)

print(any(b))
print(any(c))

# False
# False

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

1
2
3
4
5
6
7
8
b = ['', 0, False, None, '0', 'False', 'None']
c = ('', 0, False, None, '0', 'False', 'None')

print(any(b))
print(any(c))

# True
# True

扩展

如果查找某个条件是否满足集合中的一个

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

print(c) # True