s = {1, True} 是 {1} 且 s = {1, False} 是 {1, False} 为什么? [重复]

问题描述 投票:0回答:1

我是哈比卜

我对 python

set
数据结构的以下输出感到困惑。

# case 1
s = {1, True}
print(s)

# case 2
s = {2, True}
print(s)

# case 3
s = {1, False}
print(s)

# case 4
s = {0, False}
print(s)

输出:

{1}
{True, 2}
{False, 1}
{0}

为什么在情况 1 和 4 中,True 和 false 没有打印出来

我是Python编程的初学者。我发现了一个问题

s = {1, True}, what is its output? 
然后我尝试了其他案例。

python set
1个回答
1
投票

True == 1

False == 0

set()
不能有重复的元素。

在 Python 3.x 中,True 和 False 是关键字,并且始终等于 1 和

正如@Abdul 和@Mark 评论的那样

hash(True) == hash(1) == 1
© www.soinside.com 2019 - 2024. All rights reserved.