我需要使用多个哈希表,所以在c++,我通常会使用std::unordered_map。到目前为止我可以理解我可以在Python中使用字典,所以让我们假设以下代码:
my_dict_1 = {}
my_dict_1['foo'] = 1
my_dict_2 = {}
my_dict_2['foo'] = 2
两个字典是否会使用不同的哈希函数(请注意,键是一样的),因此它们可以被认为是两个不同的哈希表(我的意思是它们实际上会以不同的方式存储数据)?
EDIT:
是的,字典当然是两个不同的对象,但问题在于它们将用于存储数据的技术!
一个简单的Python shell实验来展示不同的字典可以使用相同的键:
>>> my_dict_1 = {'foo':1}
>>> my_dict_2 = {'foo':2}
>>> my_dict_1,my_dict_2
({'foo': 1}, {'foo': 2})
This关于如何实施的一个很好的讨论。关键是每个字典都分配了自己的内存部分(当然可以根据需要增长)。这完全相同的哈希函数用于两个字典,但用于探测内存中的不同区域。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)