Python中all()和any()函数的用法详解#
Python中的all()和any()函数是两个非常常用的函数,它们被广泛的应用在Python的各种场景中。在本篇文章中,我们将详细的介绍这两个函数的用法和使用技巧。
1.all()函数用法
all()函数是Python中用于对可迭代对象进行逻辑与操作的函数,其主要作用是判断一个迭代器中的所有元素是否都为True值,如果是,则返回True,否则返回False。
all(iterable)
参数
iterable -- 可迭代对象,例如列表、元组、字典、字符串等等。
返回值
如果 iterable 中所有元素均为真,返回 True,否则返回 False。
示例
>>> all([True, True, True])
True
>>> all([False, True, True])
False
>>> all([1, 2, 3, 0])
False
>>> all(['hello', 'world', ''])
False
2.any()函数用法
any()函数是Python中用于对可迭代对象进行逻辑或操作的函数,其主要作用是判断一个迭代器中的所有元素是否存在True值,如果存在,则返回True,否则返回False。
any(iterable)
参数
iterable -- 可迭代对象,例如列表、元组、字典、字符串等等。
返回值
如果 iterable 中存在一个元素为真,则返回 True,否则返回 False。
示例
>>> any([True, True, True])
True
>>> any([False, False, False])
False
>>> any([1, 2, 3, 0])
True
>>> any(['', 'world', ''])
True
3.all()函数和any()函数的使用技巧
(1) 对于空迭代器,all()函数返回True,any()函数返回False。
示例
>>> all([])
True
>>> any([])
False
(2) all()函数和any()函数可以直接用于条件语句中。
示例
# 判断列表中的元素是否都是偶数
lst = [2, 4, 6, 8]
if all(map(lambda x: x % 2 == 0, lst)):
print('All elements are even.')
# 判断列表中是否存在奇数
lst = [2, 4, 6, 8, 9]
if any(map(lambda x: x % 2 == 1, lst)):
print('There is an odd element.')
(3) all()函数和any()函数可以和生成器表达式一起使用。
示例
# 判断列表中的元素是否都是偶数
lst = [2, 4, 6, 8]
if all(x % 2 == 0 for x in lst):
print('All elements are even.')
# 判断列表中是否存在奇数
lst = [2, 4, 6, 8, 9]
if any(x % 2 == 1 for x in lst):
print('There is an odd element.')
总结
all()函数和any()函数都是Python内置函数,它们的作用分别是判断一个迭代器中的所有元素是否都为True值和是否存在True值。在实际使用中,我们可以将它们应用于很多场景中,例如判断一个列表中的所有元素是否满足某个条件、判断一个字符串中是否存在某个字符、判断一个字典中是否存在某个key等等。同时,all()函数和any()函数可以和条件语句以及生成器表达式一起使用,具有很高的灵活性和可扩展性。
