点击 上方蓝色小字 “ 小菜学编程 ” , 关注我们?
笔者经常在面试中与候选人探讨 Python 内置容器对象, list 作为最常用容器中的一员,肯定少不了它:
- 你用过 list 对象吗?
- list 对象都支持哪些操作?时间复杂度、空间复杂度分别是多少?
- 试分析 append 和 insert 这两个方法的时间复杂度?
- 头部追加性能较差,如何解决?
list 对象的基本用法和技术原理,每个 Python 开发工程师都必须掌握,但不少候选人对此却只是一知半解。本节,我们一起查缺补漏,力求彻底掌握 list 对象,完美解答面试官针对 list 对象的灵魂之问。
基本用法
我们先来回顾一下 list 对象的基本操作:
# 新建一个列表
>>> l = [1, 2, 3]
>>> l
[1, 2, 3]
# 向尾部追加元素,列表对象视情况自动扩容
>>> l.append(4)
>>> l
[1, 2, 3, 4]
# 从尾部