列表、元组和字典的底层数据结构

8

我希望能够了解关于Python中的数据类型 - 列表、元组、字典和集合 - 的实现方法。

它们是如何实现的,特别是使用了哪种数据结构。 有没有任何地方/网址可以精确地获取这种理解?


5
我的首选是源代码 - thefourtheye
4
Python、Jython、PyPy 等是否均可实现? - Matthias
底层实现是_实现细节_,您不能假设它们在所有Python实现中都相同。 - lanzz
我同意@thefourtheye的观点。CPython源代码有非常好的注释:请查看http://hg.python.org/cpython/file/2e8a142dbccc/Objects中的`dictobject.c`、`listobject.c`、`setobject.c`和`tupleobject.c`。 - lanzz
4
否决这个似乎有些严厉。 - Bach
显示剩余2条评论
1个回答

8
最好的查找地点是CPython实现源代码
  • dict - 哈希映射,针对快速解析键
  • list - 看起来像一个PyObject数组
  • tuple - 与列表相同,但具有元组可以允许的优化(固定大小、对象)
  • set - 具有缓存局部性优化的哈希映射

源代码有很多注释,并且使用了良好编写的C。这将是了解详细使用的数据结构的最佳位置。


我尝试搜索类似的内容,但没有得到好的结果。谢谢。 - Raghav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接