考虑:
>>> a = {'foo': {'bar': 3}}
>>> b = {'foo': {'bar': 3}}
>>> a == b
True
根据python doc,您确实可以在字典上使用运算==
符。
这里实际发生了什么?Python 是否递归检查字典的每个元素以确保相等?是否确保键相同匹配,并且值也相同匹配?
是否有文档准确指定==
字典上的含义?或者我是否必须实施自己的平等检查版本?
(如果==
运算符有效,为什么字典不能散列?也就是说,为什么我不能创建字典的 set() 或使用字典作为字典键?)