列表与元组
- 列表和元组都是有序的
- 列表是动态的,长度可变的,可以随时增加、删除或者改变元素。列表的存储空间要略大于元组(需要额外空间over-allocating机制来及时分配额外空间)
- 元组是静态的,长度大小固定。增加元素只能依靠新建元组。元组相对于列表更加轻量级,性能稍优
课后题
想创建一个空的列表,我们可以用下面的 A、B 两种方式,请问它们在效率上有什么区别吗?我们应该优先考虑使用哪种呢?可以说说你的理由。
# option A
empty_list = list()
# option B
empty_list = []
回答:区别主要在于list()是一个function call,Python的function call会创建stack,并且进行一系列参数检查的操作,比较expensive,反观[]是一个内置的C函数,可以直接被调用,因此效率高。