Python中列表相关操作
在Python中,列表(list)作为最常用的数据结构之一,下方是相关的增删改查操作。
一、增加元素
-
append()
在列表末尾添加单个元素,时间复杂度为O(1)lst = [1, 2] lst.append(3) # [1, 2, 3]
-
insert()
在指定索引位置插入元素(后续元素后移),时间复杂度为O(n)lst.insert(1, 'a') # [1, 'a', 2, 3]
-
extend()
将可迭代对象中的元素逐个追加到列表末尾lst.extend([4,5]) # [1, 'a', 2, 3, 4, 5]
-
切片赋值
可通过空切片实现插入效果:lst[2:2] = ['x','y'] # [1, 'a', 'x', 'y', 2, 3, 4, 5]
二、删除元素
-
remove()
删除首个匹配元素,元素不存在时报错lst.remove('a') # [1, 'x', 'y', 2, 3, 4, 5]
-
pop()
删除指定索引元素(默认末尾),返回被删除值val = lst.pop(0) # val=1 → ['x', 'y', 2, 3, 4, 5]
-
del
语句
支持删除单个元素或切片范围del lst[2:4] # ['x', 'y', 3, 4, 5]
-
clear()
清空列表所有元素lst.clear() # []
三、修改元素
-
直接索引赋值
lst = ['a', 'b', 'c'] lst[1] = 99 # ['a', 99, 'c']
-
切片批量修改
可替换不同长度的元素序列:lst[0:2] = [10, 20, 30] # [10, 20, 30, 'c']
-
列表推导式
条件式批量修改:lst = [x*2 if x>10 else x for x in lst]
四、查找元素
-
index()
返回首个匹配元素的索引,无匹配时抛出异常idx = lst.index(20) # 1
-
in
运算符
快速判断元素是否存在if 30 in lst: print("存在")
-
count()
统计元素出现次数cnt = lst.count(20) # 1
-
遍历查找
结合enumerate
获取索引:for i, v in enumerate(lst):if v == 30:break