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。
