Python 的 any() 函数用于判断可迭代对象中是否存在至少一个 True 元素,其核心行为如下:
- 基本逻辑
- 当可迭代对象中存在任一元素为真(非零、非空、非
False)时返回True - 当可迭代对象全为假元素或为空时返回
False - 等价逻辑:
def any(iterable): for item in iterable: if item: return True return False
- 典型用例
检测是否存在非零值
print(any([0, 1, 0])) True(存在1)
检查字符串列表是否含非空字符串
print(any(["", "hello", ""])) True
空迭代对象返回False
print(any([])) False
特殊场景处理
| 输入类型 | 返回值 | 说明 |
|-------------------|---------|--------------------------|
| 全假值[0, "", False]|False| 无真值元素 |
| 含真值[0, 5, ""]|True| 数字5为真 |
| 嵌套对象[[], [1]]|True| 子列表[1]非空视为真 |与
all()对比
| 函数 | 全真返回 | 全假返回 | 空迭代返回 |
|---------|----------|----------|------------|
|any()|True|False|False|
|all()|True|False|True|
提示:
- 对生成器对象同样适用(如
any(x>0 for x in [-1, 0, 3]))- 常用于条件筛选:
if any(condition(x) for x in data)
百度AI生成,内容仅供参考