欢迎访问宙启技术站
智能推送

Python中的any()和all()函数——检查可迭代对象是否存在(any)或全部(all)元素满足条件

发布时间:2023-06-14 08:14:40

在Python中,any()和all()是两个内置的函数,用于检查可迭代对象(例如列表、元组、集合、字典等)是否存在或全部元素满足特定条件。

any()函数

any()函数用于判断可迭代对象中是否存在至少一个元素满足特定条件。其语法如下:

any(iterable)

其中,iterable是一个可迭代的对象,例如列表、元组、集合等。

如果可迭代对象中至少存在一个元素满足条件,则返回True;否则,返回False。

以下是几个示例:

# 判断列表中是否存在偶数

nums = [1, 3, 5, 7, 8, 9]

print(any(num % 2 == 0 for num in nums)) # True

# 判断元组中是否存在字符a

words = ('book', 'cat', 'dog', 'apple')

print(any('a' in word for word in words)) # True

# 判断集合中是否存在空值

set1 = {1, 2, 3, None, 5}

print(any(x is None for x in set1)) # True

all()函数

all()函数用于判断可迭代对象中是否所有元素都满足特定条件。其语法如下:

all(iterable)

其中,iterable是一个可迭代的对象,例如列表、元组、集合等。

如果可迭代对象中所有元素都满足条件,则返回True;否则,返回False。

以下是几个示例:

# 判断列表中是否所有元素都是偶数

nums = [2, 4, 6, 8, 10]

print(all(num % 2 == 0 for num in nums)) # True

# 判断元组中是否所有元素的长度均大于等于3

words = ('book', 'cat', 'dog', 'apple')

print(all(len(word) >= 3 for word in words)) # True

# 判断字典中所有值是否都为正整数

dict1 = {'a': 1, 'b': 2, 'c': -3, 'd': 4}

print(all(v > 0 for v in dict1.values())) # False

需要注意的是,当可迭代对象为空时,any()函数返回False,而all()函数返回True。这是因为对于任意一个成立的条件,也可以认为条件成立,但是对于所有条件成立,需要满足所有条件才成立。

总结

any()和all()函数是Python中非常有用的函数,它们可以快速地检查列表、元组、集合、字典等可迭代对象中是否存在或全部元素满足特定条件。需要注意的是,当可迭代对象为空时,any()函数返回False,而all()函数返回True。