看啥推荐读物
专栏名称: Python开发者
人生苦短,我用 Python。伯乐在线旗下账号「Python开发者」分享 Python 相关的技术文章、工具资源、精选课程、热点资讯等。
今天看啥  ›  专栏  ›  Python开发者

深入 Python 列表的内部实现

Python开发者  · 公众号  · Python  · 2017-05-23 19:53
(点击上方蓝字,快速关注我们)编译:伯乐在线 - caimaoy如有好文章投稿,请点击 → 这里了解详情本文将介绍列表在 CPython中的实现,因为毕竟Cpython 又是 Python 最为常用的实现。Python 中的列表非常强大,看看它的内部实现机制是怎么样的,一定非常有趣。下面是一段 Python 脚本,在列表中添加几个整数,然后打印列表。>>> l = []>>> l.append(1)>>> l.append(2)>>> l.append(3)>>> l[1, 2, 3]>>> for e in l:...   print e...123可以发现,列表是一个迭代器。列表对象的 C 语言结构体Cpython 中的列表实现类似于下面的 C 结构体。ob_item 是指向列表对象的指针数组。allocated 是申请内存的槽的个数。typedef struct {    PyObject_VAR_HEAD    PyObject **ob_item;    Py_ssize_t allocated;} PyListObject;列表初始化看 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照