我正在用Python集做一些简单的实验。
我注意到这种奇怪的行为(至少对我来说)。
>>> {1,2,3} == set([1,2,3])
True
>>> {1} == set([1])
True
>>> {} == set([])
False
>>>
为什么最后一个说
False
?这有什么充分的理由吗?
{}
创建一个空的字典,而不是一个集合。
没有空集文字,只需使用
set()
(无参数)。
花括号或
函数可用于创建集合。注意:要创建一个空集,您必须使用set()
,而不是set()
;后者创建一个空字典,这是我们在下一节中讨论的数据结构。{}
并从表达式参考文档的集显示部分:
空集不能用
构造;这个文字构造了一个空字典。{}
集合是该语言相对较晚的补充;使用
{elem1, elem2}
创建集合仅在 Python 3 中引入,并在 Python 2.7 中添加到 Python 2,但 {}
用于空字典的时间已经很长很长了,至少早在 0.9 就可以了。 2(1991 年发布)。