You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Python集合输出包含False却不包含True?

Python集合中True未显示但False保留的原因分析

先看代码及执行结果:

myset = {3, 4, 5, 1, 23, 45, 23, 89, "rohit", "raman", "rohit", 4, 5 , True, False,  3j}
print(myset)

# 输出结果:
{False, 1, 3, 4, 5, 3j, 'raman', 45, 23, 89, 'rohit'}

原因在于Python的布尔类型特性:

  • Python里的bool是int的子类,True等价于整数1,False等价于整数0。
  • 集合的核心规则是元素不可重复,会自动移除判定为相等的元素。

你的集合里已经存在整数1,当添加True时,因为True == 1的结果为True,集合会认为这两个元素重复,所以只会保留其中一个(输出里显示的是1);而集合里没有整数0,所以False没有重复项,因此被保留了下来。

可以通过以下代码验证这一点:

print(True == 1)          # 输出:True
print(False == 0)         # 输出:True
print(isinstance(True, int))  # 输出:True,证明True是int的实例

内容的提问来源于stack exchange,提问作者Dip Kri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:45:54