Set()和{}似乎给出了非常相似的行为。在下面的比较中,为什么最后一个为假?
>>> set([1,2,3])=={1,2,3}
True
>>> set([1,2,3])==set([1,2,3])
True
>>> {1,2,3}=={1,2,3}
True
>>> set([])==set([])
True
>>> {}=={}
True
>>> set([])=={}
False
答案 0 :(得分:6)
因为{}
字面值是为空dict
保留的,而不是空集
答案 1 :(得分:2)
因为{}
创建了dict
。
In[49]: type({})
Out[49]: dict
答案 2 :(得分:0)
要创建空集,您只能使用set()
。
集合是唯一元素的集合,您无法对它们进行排序。列表是有序的元素序列,可以重复值。字典将键映射到值,键必须是唯一的。集合和字典键也必须满足其他限制,这样Python实际上可以有效地跟踪它们,并且知道它们是并且将保持唯一。