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

Python any和all函数 - 判断是否存在真或假值

发布时间:2023-06-18 22:38:46

Python中有两个内置函数:any()和all(),它们都能够判断一个可迭代对象中是否存在真或假值,但在具体的应用场景中有着不同的用途。

一、any()函数

any()函数接受一个可迭代对象(如列表、元组、集合等)作为参数,返回一个布尔值True或False。当可迭代对象中存在至少一个元素为True时,返回True;否则返回False。

以下是一些使用any()函数的示例:

1. 判断列表中是否有任意一个数为偶数:

num_list = [1, 3, 5, 7, 8]
if any(num % 2 == 0 for num in num_list):
    print("列表中存在偶数")
else:
    print("列表中不存在偶数")

输出结果为:列表中存在偶数

2. 判断一个字符串中是否含有元音字母:

s = "python"
if any(ch in 'aeiou' for ch in s):
    print("字符串中含有元音字母")
else:
    print("字符串中不含有元音字母")

输出结果为:字符串中含有元音字母

3. 判断一个集合中是否存在大于10的数字:

num_set = {1, 2, 3, 12, 14}
if any(num > 10 for num in num_set):
    print("集合中存在大于10的数字")
else:
    print("集合中不存在大于10的数字")

输出结果为:集合中存在大于10的数字

二、all()函数

all()函数同样接受一个可迭代对象作为参数,返回一个布尔值True或False。当可迭代对象中所有元素都为True时,返回True;否则返回False。

以下是一些使用all()函数的示例:

1. 判断列表中的所有数是否为正数:

num_list = [1, 2, 3, -4, 5]
if all(num > 0 for num in num_list):
    print("列表中所有数均为正数")
else:
    print("列表中存在非正数")

输出结果为:列表中存在非正数

2. 判断一个字符串是否只包含小写字母:

s = "python"
if all(ch.islower() for ch in s):
    print("字符串中只包含小写字母")
else:
    print("字符串中包含大写字母或其他字符")

输出结果为:字符串中只包含小写字母

3. 判断一个字典中所有value是否均为非空字符串:

info = {"name": "张三", "age": 25, "job": ""}
if all(isinstance(value, str) and value != "" for value in info.values()):
    print("字典中所有value均为非空字符串")
else:
    print("字典中存在空字符串或非字符串类型的value")

输出结果为:字典中存在空字符串或非字符串类型的value

总结:

以上就是any()和all()函数的基本用法和示例。这两个函数在Python编程中应用广泛,特别是在处理数据的时候非常有用。需要注意的是,当传入的可迭代对象为空时,any()和all()函数都会返回False。