我有两个对象代表相同的一个。我甚至保证他们有相同的散列。我仍然有一个错误,虽然从字典:对象具有相同的散列,字典没有识别为相同的
>>> hash(one)
1098414562
>>> hash(one+zero)
1098414562
>>> a={one:1}
>>> a[one+zero]
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
a[one+zero]
KeyError: {{|}|}
还有什么我必须做,以确保字典reconizes它作为相同的密钥?
我忘了return语句在我的'__eq__'试验破坏了平常
O(1)
查找复杂你可以很容易地看到线性时间查找。 – PyRulez
哎呀,那可能是一个棘手的错误找到 –