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