1. 列表
列表是什么
列表是一个由若干元素(不限制种类的对象)顺序组成的线性结构。 列表在内存中是顺序存放的。 列表是可索引、可迭代、可变的序列。 列表用[]
表示。
线性结构的内存模型
列表
顺序连续存放,索引访问
链表
在内存中非连续存放
队列
顺序连续存放,只能对两端操作
栈
先进后出,后进先出
列表的定义(初始化)
空列表:
lst = list()
lst = []
非空列表:
lst = [1,2,'a',[(1,2,'d')]]
lst = list(range(5))
列表的访问
Python中对列表使用索引(下标)访问。
Python中支持正、负两种索引。
正索引从左开始,第一个是0;负索引是从右开始,最右一个是-1。
列表可以简单理解为从左到右排列的,左头右尾。
如果索引超界,会引发IndexError
。
列表的查询与判断
index
返回一个数字,在start到stop区间内value第一次出现的索引。 时间复杂度O(n)
count
返回一个数字,在list中value一共出现了多少次。 时间复杂度O(n)
in
返回一个布尔型,value是否在列表中出现 时间复杂度O(n)
列表的修改
索引访问修改
返回一个None 时间复杂度O(1)
增加与插入元素
append
返回一个None 时间复杂度O(1)
insert
将object插入index位置 返回一个None 时间复杂度O(n)
extend
在列表后面追加可迭代对象的内容。
删除元素
remove
将value从列表中删除(1个) 返回None 如果没有value,返回ValueError。 时间复杂度O(n)
pop
将索引index的从列表中删除,不指定index则删除最后一个 返回被删除值 时间复杂度O(n)或者O(1)
反转列表
返回None,修改原列表
列表排序
用key操作之后排序,reverse表示是否反转
列表的复制(深浅拷贝)
Last updated
Was this helpful?