python dict使用 - Python字典是散列表的一個例子嗎?




3 Answers

是的,它是一個哈希映射或哈希表。 您可以在這裡閱讀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中實現的,以及它為什麼以這種方式實現的

print字典 python用法

Python中的基本數據結構之一是字典,它允許用戶記錄“鍵”來查找任何類型的“值”。 這是否在內部實現為散列表? 如果不是,那是什麼?




是。 它在內部基於Z / 2( source )上的本原多項式實現為開放散列。




擴展nosklo的解釋:

a = {}
b = ['some', 'list']
a[b] = 'some' # this won't work
a[tuple(b)] = 'some' # this will, same as a['some', 'list']



Related