列表初始化
列表的定义分为以下几种:
lst = list()
lst = []
lst = [2,6,9,‘ab’]
lst = list(range(5))
列表索引访问
查询列表中某个索引处的数值,[]内数值为列表索引,索引为-1表示当前列表最后一个值
lst = [1,3,5,7,8,5,6,2]
print(lst[3])
print(lst[-1])
#输出
7
2
列表查询
1.index(value,[start,[stop]]) 从指定区间查找列表内元素是否匹配,匹配到第一个就返回索引
lst = [1,3,5,7,8,5,6,2]
print(lst.index(5))
print(lst.index(5,3,6))
#输出
2
5
2.count(value) 返回列表中匹配value的次数
lst = [1,3,5,7,8,5,6,2]
print(lst.count(5))
#输出
2
index和count方法的时间复杂度均为O(n),随着列表规模增大效率逐步下降,不推荐使用
列表元素修改
list[index] = value,修改列表中某个索引位置处的元素
lst = [1,3,5,7,8,5,6,2]
lst[3] = 100
print(lst)
#输出
[1, 3, 5, 100, 8, 5, 6, 2]
列表添加元素
1.append() 在列表尾部追加元素,返回None
因列表进行append操作之后返回为None所以不支持以下情况lst.append(1).append(2)
lst = [1,3,5,7,8,5,6,2]
lst.append(100)
print(lst)
#输出
[1,3,5,7,8,5,6,2,100]
2.insert(index,value) 在指定索引index处插入元素value
索引超上界,尾部追加;索引超下界,头部追加
lst = [1,3,5,7,8,5,6,2]
lst.insert(2,100) #索引处插入
print(lst)
lst.insert(100,100) #索引超上届
print(lst)
lst.insert(-100,100)#索引超下届
print(lst)
#输出
[1, 3, 100, 5, 7, 8, 5, 6, 2]
[1, 3, 100, 5, 7, 8, 5, 6, 2, 100]
[100, 1, 3, 100, 5, 7, 8, 5, 6, 2, 100]
3.extend() 将可迭代对象在尾部进行追加,返回None
lst = [1,3,5,7,8,5,6,2]
lst.extend(range(5))
print(lst)
#输出
[1, 3, 5, 7, 8, 5, 6, 2, 0, 1, 2, 3, 4]
4.+ 连接操作,将两个列表进行连接,返回新列表
lst1 = ['a','b']
lst2 = [1,2]
print(lst1 + lst2)
#输出
['a', 'b', 1, 2]
*重复操作,将本列表元素重复n次,返回新列表
x = [[1,2,3]]*3
print(x)
#输出
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
列表删除元素
1.remove(value) 从左至右查找第一个匹配到的value并进行删除就地修改,返回None
lst = [1,3,5,7,8,5,6,2]
lst.remove(5)
print(lst)
#输出
[1, 3, 7, 8, 5, 6, 2]
2.pop([index]) 删除指定索引处的元素,若未指定索引,从列表尾部删除一个元素
lst = [1,3,5,7,8,5,6,2]
lst.pop(3) #删除指定索引处元素
print(lst)
lst.pop() #删除尾部元素
print(lst)
#输出
[1, 3, 5, 8, 5, 6, 2]
[1, 3, 5, 8, 5, 6]
3.clear() 清除列表所有元素,剩下一个空列表[],返回为None
列表反转和排序
1.reverse() 将元素进行反转,就地修改,返回为None
lst = [1,3,5,7,8,5,6,2]
lst.reverse()
print(lst)
#输出
[2, 6, 5, 8, 7, 5, 3, 1]
2.sort(key=None,reverse=False) 对列表元素进行排序,就地修改,默认为升序,返回None
key为一个函数,即将列表内的元素作为某种类型去排序,具体区别如下:
lst = [1,11,10,2,21]
lst.sort()#升序
print(lst)
lst.sort(reverse=True)#降序
print(lst)
lst.sort(key=int)#将元素转化为int类型再进行排序
print(lst)
lst.sort(key=str) #将元素转化为str类型再进行排序
print(lst)
#输出
[1, 2, 10, 11, 21]
[21, 11, 10, 2, 1]
[1, 2, 10, 11, 21]
[1, 10, 11, 2, 21]
列表操作
1.in 返回结果为bool类型
[3,4] in [1,2,[3,4]]
2.len(list):列表元素个数
3.max(list):返回列表元素最大值
4.min(list):返回列表元素最小值
lst = [1,11,10,2,21]
print(len(lst))#长度
print(max(lst))#最大值
print(min(lst))#最小值
#输出
5
21
1