一个Python字典是一个散列表的例子吗?

问题:

Python中的基本数据结构之一是字典,它允许用户记录“键”来查找任何类型的“值”。这是在内部实现的哈希表吗?如果不是,那是什么?

回答:

是的,它是一个哈希映射或哈希表。您可以阅读由蒂姆·彼得斯(Tim Peters)编写的python的dict实现描述,here
这就是为什么你不能使用“不可哈希”的东西作为一个dict键,如列表:

>>> a = {}
>>> b = ['some', 'list']
>>> hash(b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list objects are unhashable
>>> a[b] = 'some'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list objects are unhashable

您可以read more about hash tablescheck how it has been implemented in pythonwhy it is implemented that way

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Is a Python dictionary an example of a hash table?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

41 + = 50