Python の基本的なデータ構造の 1 つは辞書です。辞書を使用すると、任意のタイプの「値」を検索するための「キー」を記録できます。これは内部的にハッシュ テーブルとして実装されていますか? そうでない場合、それは何ですか?
ベストアンサー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 でハッシュ テーブルがどのように実装されているか、なぜそのように実装されているかを確認したりできます。