网易首页 > 网易号 > 正文 申请入驻

Python 内置函数:all()

0
分享至

all() 是 Python 的内置逻辑判断函数,用于检查可迭代对象中的所有元素是否都为真值。它在数据校验、条件筛选等场景中,能让判断逻辑更加简洁、高效。

一、函数语法

all(iterable)

参数:

iterable:必填,任意可迭代对象(如字符串、列表、元组、集合、字典、生成器等)。

要注意的是,对字典而言,all() 判断的是(key)的真值,而不是(value)。

返回值:

True:当且仅当 iterable 中的所有元素都为真值或 iterable 为空。

False:当至少有一个元素为假值时。

布尔判断逻辑:

遵循 Python 的“”:空、零、None、False 等为假,其余为真。

特别注意:空可迭代对象的 all() 返回 True,这是数学逻辑恒真性的定义(并不意味着空对象在布尔上下文中为真)。

二、基础用法示例

1、所有元素为真值

print(all([1, 2, 3]))       # True
print(all(['a', 'b', 'c'])) # True

2、存在假值

print(all([1, 0, 3]))  # False
print(all([True, False, True]))  # False

3、空可迭代对象

print(all([]))   # True
print(all(()))   # True
print(all({}))   # True

空集合在逻辑恒真性定义下返回 True。

3、字典的判断

print(all({'a': 1, 'b': 2}))      # True  (判断的是键)
print(all({'a': 0, 'b': 2}))      # True  (键 'a' 不是假值)

提示:

all() 对字典只检查键的真值,而不会检查对应的值。

三、进阶技巧

1、配合生成器表达式进行条件检查

建议使用生成器表达式而不是列表推导式,可以避免额外的内存消耗。

nums = [2, 4, 6, 8]
print(all(n % 2 == 0 for n in nums))  # True

2、数据校验

data = ["apple", "banana", "cherry"]
if all(isinstance(item, str) for item in data):
    print("全部是字符串")

3、短路特性(惰性求值)

all() 会从左到右依次判断,一旦遇到假值立即返回 False,后续元素不再检查。

def check(x):
    print(f"检查 {x}")
    return x > 0

nums = [1, -1, 2]
print(all(check(n) for n in nums))
# 输出:
# 检查 1
# 检查 -1
# False(遇到假值立即返回)

四、补充说明

1、与 any() 的关系

all(iterable):检查是否全部为真(逻辑与)。

any(iterable):检查是否至少有一个为真(逻辑或)。

2、可读性建议

对复杂条件判断,推荐 all() + 生成器表达式的写法,避免显式循环,提高可读性和性能。

3、性能考虑

all() 对可迭代对象按顺序依次判断,遇到假值立即结束(短路特性)。

对迭代器和生成器,all() 会惰性求值,不会一次性展开全部数据,在大数据集场景下性能优越。

点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
瓦林卡鏖战四个半小时挺进第三轮!德约距离全新纪录仅一步之遥

瓦林卡鏖战四个半小时挺进第三轮!德约距离全新纪录仅一步之遥

网球之家
2026-01-22 22:17:20
决赛对阵出炉!国乒全国冠军3:0大获全胜,距离夺冠仅一步之遥

决赛对阵出炉!国乒全国冠军3:0大获全胜,距离夺冠仅一步之遥

国乒二三事
2026-01-23 05:52:00
日本首位女首相,豪赌国运?东亚火药桶,真的要炸了

日本首位女首相,豪赌国运?东亚火药桶,真的要炸了

柏年说政经
2026-01-22 18:00:03
林彪离世后,原256号副机长康庭梓罕见爆料,揭开坠机尘封真相

林彪离世后,原256号副机长康庭梓罕见爆料,揭开坠机尘封真相

磊子讲史
2026-01-06 15:54:18
滚出去!中国不是“捡破烂”的:日本混不下去,就想回中方捞金?

滚出去!中国不是“捡破烂”的:日本混不下去,就想回中方捞金?

趣文说娱
2026-01-21 18:20:43
“秦岚”也太凡尔赛了吧!穿一身瑜伽服凹凸有致,巴掌腰太抢镜

“秦岚”也太凡尔赛了吧!穿一身瑜伽服凹凸有致,巴掌腰太抢镜

巧手晓厨娘
2025-12-30 18:59:18
2025十佳运动员出炉:全红婵落榜,孙颖莎位列第四,他意外上榜

2025十佳运动员出炉:全红婵落榜,孙颖莎位列第四,他意外上榜

阿纂看事
2025-12-30 09:22:12
吕特发给特朗普的私密信息,让欧洲人吵翻了!

吕特发给特朗普的私密信息,让欧洲人吵翻了!

环球时报国际
2026-01-22 00:13:27
朱芳雨神了!40+顶级外援完美接班马尚,广东第十二冠稳了?

朱芳雨神了!40+顶级外援完美接班马尚,广东第十二冠稳了?

中山印象体育摄影师
2026-01-22 09:27:02
马年生肖酒出现错别字,茅台紧急回应

马年生肖酒出现错别字,茅台紧急回应

中国日报
2026-01-22 17:58:03
U23国足外出聚餐,拜合拉木身穿曼联球衣,吾米提江身穿利物浦Polo

U23国足外出聚餐,拜合拉木身穿曼联球衣,吾米提江身穿利物浦Polo

懂球帝
2026-01-22 16:09:15
布鲁克林婚礼上的DJ回应维多利亚“不雅”舞蹈:这是真的,我在场

布鲁克林婚礼上的DJ回应维多利亚“不雅”舞蹈:这是真的,我在场

科学发掘
2026-01-22 13:04:20
就在今天!1月23日凌晨,WTT挑战赛:石洵瑶爆发,国乒锁定一奖牌

就在今天!1月23日凌晨,WTT挑战赛:石洵瑶爆发,国乒锁定一奖牌

皮皮观天下
2026-01-23 06:40:43
伊朗神权崩塌前夜:9000万高知青年与内战危机

伊朗神权崩塌前夜:9000万高知青年与内战危机

夏至陌离殇
2026-01-14 15:34:27
很多人低估了一万块的威力

很多人低估了一万块的威力

洞见
2026-01-12 20:34:37
回到老家!辽篮旧将待业中 球迷直言他比亨特强

回到老家!辽篮旧将待业中 球迷直言他比亨特强

胖子喷球
2026-01-22 22:09:03
51岁何炅生图曝光!脸部下垂全是褶断崖式衰老,现场互动好心酸

51岁何炅生图曝光!脸部下垂全是褶断崖式衰老,现场互动好心酸

八卦王者
2026-01-21 16:25:26
河北沧州杀妻案终审宣判,凶手羁押近照曝光,金家将后继无人

河北沧州杀妻案终审宣判,凶手羁押近照曝光,金家将后继无人

十九妹
2026-01-22 14:49:46
蒂格:如果詹姆斯和东契奇年龄互换!那湖人实力历史最强!

蒂格:如果詹姆斯和东契奇年龄互换!那湖人实力历史最强!

氧气是个地铁
2026-01-22 17:37:39
俄媒:一旦战争爆发中国将被围攻,对中国而言,最危险的不只战争

俄媒:一旦战争爆发中国将被围攻,对中国而言,最危险的不只战争

咸鱼金脑袋
2026-01-22 15:10:51
2026-01-23 09:48:49
MediaTea
MediaTea
专业的数字媒体、新媒体技术
1722文章数 72关注度
往期回顾 全部

科技要闻

TikTok在美正式建合资公司,字节保留算法

头条要闻

300万元一张票 演员黄景瑜将上太空:很荣幸坐自家飞船

头条要闻

300万元一张票 演员黄景瑜将上太空:很荣幸坐自家飞船

体育要闻

跑个步而已,他们在燃什么?

娱乐要闻

车银优赚800亿 涉嫌逃税200亿!

财经要闻

茂名首富,这次糟了

汽车要闻

配备多块娱乐屏 极氪8X内饰曝光

态度原创

房产
时尚
教育
艺术
军事航空

房产要闻

开年王炸!四重政策红利加码,广州置业窗口期迈入倒计时!

章小姐罕见谈婚姻,这个词用得太妙了

教育要闻

安徽建大这个专业全国24!省内第2超强实力

艺术要闻

有一個匠人叫仇英,他的绘画耐人追寻

军事要闻

美军首艘“高超导弹战舰”出海测试

无障碍浏览 进入关怀版