Python list数据结构学习

67 阅读1分钟

与C、Java只能定义固定类型的数组不同,Python的数据类型主要包括元组tuple、列表list、字典key等,在使用时会更简单便利,但也会让人思考这种数据类型是如何实现的?

实际上Python内置也有一个array模块,只是平时基本不会用。Python的array类型内存连续、存储的也是同一类型的数据结构。但最常用的还是list和numpy.array。list长度可变、类型可变,且有很多固定方法。可以通过阅读CPython中的源码了解其具体实现。

CPython源码阅读指导:zhuanlan.zhihu.com/p/79656976

list常见方法时间复杂度总结

操作平均时间复杂度
list[index]O(1)
list.appendO(1)
list.insertO(n)
list.pop(index), default last elementO(1)
list.removeO(n)