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

Python中all()和any()函数的用法详解#

发布时间:2023-06-15 15:21:11

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()函数可以和条件语句以及生成器表达式一起使用,具有很高的灵活性和可扩展性。