python内置 any 与 all
any
在 Python 中,any
是一个内置函数,用于判断可迭代对象(如列表、元组、集合等)中是否至少有一个元素为 True
。它返回一个布尔值。
语法:
any(iterable)
参数:
iterable
:任何可迭代对象,例如列表、元组、集合、生成器等。
返回值:
True
:如果iterable
中至少有一个元素为真。False
:如果iterable
为空或所有元素均为假。
注意:
在 Python 中,以下值被认为是“假”:
0
(整数或浮点数)False
- 空容器(如
[]
、()
、{}
、''
) None
示例:
1. 检查列表中是否有元素为真
lst = [0, 0, 1, 0]
print(any(lst)) # True,因为列表中有一个非零元素
2. 检查空列表
empty_list = []
print(any(empty_list)) # False,因为列表为空
3. 配合生成器表达式
nums = [1, 3, 5, 7]
print(any(x % 2 == 0 for x in nums)) # False,因为没有偶数
4. 检查字符串列表
strings = ["", "hello", ""]
print(any(strings)) # True,因为有一个非空字符串
5. 检查布尔值
flags = [False, False, True]
print(any(flags)) # True,因为有一个 True
any
在过滤、验证数据或逻辑判断时非常有用。例如:
if any(user['is_admin'] for user in users):
print("至少有一个用户是管理员")
希望这些示例能帮你理解 any
的用法!
all
all
的作用:
all
用于判断可迭代对象中的所有元素是否都为 True
。只有当所有元素都为真时,它返回 True
;如果有任意一个元素为假,返回 False
。
语法:
all(iterable)
参数:
iterable
:任何可迭代对象(如列表、元组、集合等)。
返回值:
True
:当iterable
中的所有元素都为真,或iterable
为空时。False
:当iterable
中至少有一个元素为假时。
示例:
1. 检查所有元素是否为真
lst = [1, 2, 3]
print(all(lst)) # True,因为所有元素都是真值
2. 包含假值的列表
lst = [1, 0, 3]
print(all(lst)) # False,因为 `0` 是假值
3. 空列表
empty_list = []
print(all(empty_list)) # True,空可迭代对象被认为所有元素都为真
4. 配合生成器表达式
nums = [2, 4, 6, 8]
print(all(x % 2 == 0 for x in nums)) # True,所有元素都是偶数
5. 字符串检查
strings = ["hello", "world", ""]
print(all(strings)) # False,因为有一个空字符串
any
与 all
的对比
函数 | 返回 True 的条件 |
示例 |
---|---|---|
any |
至少有一个元素为真 | any([0, 1, 0]) → True |
all |
所有元素都为真 | all([1, 2, 3]) → True |
它们常用于逻辑判断场景:
# 示例:检查用户是否全部激活
users = [{"name": "Alice", "active": True}, {"name": "Bob", "active": False}]
all_active = all(user["active"] for user in users)
print(all_active) # False,因为 Bob 没有激活
总结:
any
:只要有一个为真,返回True
。all
:只有所有都为真,才返回True
。
常用
if any(keyword in str(res) for keyword in ['成功', '黑', '已预约', '被占用', '被预约', '重新登录']):
sys.exit()
本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18551919