📜  Python中的any()和all()(1)

📅  最后修改于: 2023-12-03 15:04:34.564000             🧑  作者: Mango

Python中的any()和all()

在Python中,我们可以使用any()all()这两个函数来对某个可迭代对象(如列表、元组、集合等)进行判断,判断其中是否至少存在一个元素满足某个条件,或全部元素都满足某个条件。

any()

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()

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

注意,如果迭代器中有至少一个元素为假(如0None、空字符串等),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