gpt4 book ai didi

Python - 类 __hash__ 方法和集合

转载 作者:太空狗 更新时间:2023-10-29 17:56:41 24 4
gpt4 key购买 nike

<分区>

我正在使用 python 类的 set()__hash__ 方法来防止在集合中添加相同的哈希对象。根据python data-model document , set() 将相同的散列对象视为相同的对象并且只添加一次。

但它的行为不同如下:

class MyClass(object):

def __hash__(self):
return 0

result = set()
result.add(MyClass())
result.add(MyClass())

print(len(result)) # len = 2

虽然在字符串值的情况下,它可以正常工作。

result.add('aida')
result.add('aida')

print(len(result)) # len = 1

我的问题是:为什么相同的散列对象在集合中不相同?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com