📅  最后修改于: 2023-12-03 15:04:34.564000             🧑  作者: Mango
在Python中,我们可以使用any()
和all()
这两个函数来对某个可迭代对象(如列表、元组、集合等)进行判断,判断其中是否至少存在一个元素满足某个条件,或全部元素都满足某个条件。
any()
函数可以接受一个迭代器作为参数,如果其中至少有一个元素满足条件,那么函数返回True
,否则返回False
。
以下是any()
函数的使用示例:
# 判断列表中是否有元素大于10
my_list = [7, 8, 2, 11, 5]
result = any(i > 10 for i in my_list)
print(result) # 输出 True
此处我们将my_list
中每个元素与10进行比较,返回一个由布尔值组成的可迭代对象,并将其作为any()
的参数。因为my_list
中有一个元素(11)大于10,所以最终结果为True
。
all()
函数可以接受一个迭代器作为参数,如果其中所有元素都满足条件,那么函数返回True
,否则返回False
。
以下是all()
函数的使用示例:
# 判断字符串列表中的所有元素是否以 'a' 开头
my_list = ['apple', 'apricot', 'avocado']
result = all(s.startswith('a') for s in my_list)
print(result) # 输出 True
此处我们将my_list
中每个元素与字符串 'a'
进行比较,返回一个由布尔值组成的可迭代对象,并将其作为all()
的参数。因为my_list
中的所有元素都以 'a'
开头,所以最终结果为True
。
注意,如果迭代器中有至少一个元素为假(如0
、None
、空字符串等),all()
函数将返回False
。因此,若条件中有使用not
操作符,需要特别注意。
# 判断列表中是否全部元素都是偶数
my_list = [2, 4, 7, 12, 18]
result = all(i % 2 == 0 for i in my_list)
print(result) # 输出 False
此处因为my_list
中有一个奇数,所以最终结果为False
。