为什么Python会从相同的输入中生成不同的集合?

时间:2013-12-24 09:23:28

标签: python set

考虑以下示例:

>>> {1, True}
set([True])
>>
>>> {True, 1}
set([1])

为什么集合的表示方式不同,具体取决于元素的顺序?

2 个答案:

答案 0 :(得分:4)

这是因为1True彼此相同:

>>> True == 1
True
>>> 1 == True
True

该集合保留了每个相等类中的一个元素。

答案 1 :(得分:0)

bool是int类的子类

>>> issubclass(bool, int)
True

>>> True+1
2
>>> True == 1
True