文章目录
1 使用切片删除多个元素
利用索引进行对应索引元素的删除
改变原始列表
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]del my_list[2:5] # 删除索引2到4之间的元素print(my_list)# [1, 2, 6, 7, 8, 9]
2 使用列表解析
需要要删除的元素或者要删除元素的索引
不改变原始列表,创建新列表
# 1 直接利用删除要素my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]elements_to_remove = [3, 5, 7]# 循环my_list = [x for x in my_list if x not in elements_to_remove]print(my_list)# [1, 2, 4, 6, 8, 9]# *****************************************# 2 利用删除要素的索引my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]elements_to_remove_index = [2, 4, 6]# 循环my_list = [x for x in my_list if x not in elements_to_remove_index]print(my_list)# [1, 3, 5, 7, 8, 9]# 3 使用enumerate(),返回列表的【indexs,datas】lis = ['A','B','C','D','E','F','G']index_list = [1,2,6]lis = [temp_data for index, temp_data in enumerate(lis) if index not in index_list]print('删除后lis的值:%s' %lis)# 删除后lis的值:['A', 'D', 'E', 'F']
上述两种方法的结果相同
3 利用romove()函数
需要要删除的元素
改变原始列表
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]elements_to_remove = [3, 5, 7]# 循环去除for element in elements_to_remove: my_list.remove(element)print(my_list)# [1, 2, 4, 6, 8, 9]
4 利用pop()函数
需要要删除的元素的索引
改变原始列表
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]indices_to_remove_index = [2, 4, 6]# 将索引按照倒序排列indices_to_remove_index.sort(reverse=True) # 从后往前删除,避免索引错位# [6, 4, 2]for index in indices_to_remove_index: my_list.pop(index)print(my_list)# [1, 2, 4, 6, 8, 9]
来源地址:https://blog.csdn.net/weixin_45913084/article/details/132224546