我一直在尝试创建一个继承自UserDict.DictMixin的dict子类,该子类支持非哈希键。性能不是问题。不幸的是,Python通过尝试从子类创建dict对象来实现DictMixin中的一些函数。我可以自己实现这些,但我卡在__cmp__。我找不到dict类的内置__cmp__使用的逻辑的简明描述。 最佳答案 如果您要问比较字典的工作原理,那就是:要比较字典A和B,首先比较它们的长度。如果它们不相等,则返回cmp(len(A),len(B))。接下来,找到A中的键adiff,它是adiff不在B或A[adiff]!=B[adi