@methane です。 最近 Python の dict をハックしているので、その紹介をしたいと思います。 ですが、まずこの記事では現在 (Python 3.6a2) の dict の実装を詳解します。 データ構造 基本となる構造体は3つです。(Python 3.6a2 のソースより引用) typedef struct _dictkeysobject PyDictKeysObject; typedef struct { PyObject_HEAD Py_ssize_t ma_used; PyDictKeysObject *ma_keys; PyObject **ma_values; } PyDictObject; typedef struct { /* Cached hash code of me_key. */ Py_hash_t me_hash; PyObject *me_key;
![Python の dict の実装詳解 : DSAS開発者の部屋](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)