小编典典

Python 字典是哈希表的一个例子吗?

all

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


阅读 68

收藏
2022-05-27

共1个答案

小编典典

是的,它是一个哈希映射或哈希表。您可以在此处阅读 Tim Peters 所写的对 python 的 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

您可以阅读有关哈希表的更多信息检查它是如何在 python
中实现的,
以及它为什么以这种方式实现

2022-05-27