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,因为有一个空字符串

anyall 的对比

函数 返回 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()
posted @ 2024-11-18 10:26  __username  阅读(3)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。