我看了很多其他的帖子,比如 How is set() implemented? 和What does hash do in python? 我想澄清一下我的理解。到目前为止,设置使用哈希表,密钥作为集合的成员。所以我可以说我有
set1 = {'s','t','v'}
's' in set1
返回true,但是我如何理解set1中的所有内容都有一个哈希,所以例如字典可以是dict['s'] = true
,并查看是否'在set1中就像检查dict['s']
并查看它是否为真。但我的困惑来自于's'
将始终具有相同的哈希,这意味着如果我有2个集合,如果set1
哈希's'
为真,那么{{1} } hash set2
有何不同?每个集合都有自己的特殊散列函数吗?
's'
set1 = {'s','t'}
print('x' in set1)
print('s' in set1)
set2 = {'s'}
print('s' in set2)
和set2
在set1
使用密钥时,'s'
是否有不同的哈希值。