我定义的类之一用于set()过滤掉相等的对象。但是它没有按我预期的那样工作,所以我显然明白一些错误。
class Foo(object):
def __hash__(self):
return 7
x = set()
x.add(Foo())
assert len(x) == 1
assert len(x) == 1 # AssertionError
我希望该集合仅包含一个元素,但它包含两个元素。这是为什么?
慕勒3428872
相关分类