python-列表(List)

本文详细介绍了Python中的列表操作,包括列表的初始化、索引访问、查询、修改、添加元素、删除元素、反转和排序等。重点讲解了各种操作的方法和注意事项,如append、insert、extend、remove、pop、sort等,并提到了列表操作的时间复杂度问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表初始化

列表的定义分为以下几种:
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值