python 如何根据索引快速删除列表中的多个元素

一、批量删除列表中不同位置的元素

列表是python中经常用到的一种数据结构,因python提供了很多方法对其增、删、查、改,故使用起来比较灵活,下面就介绍下如何快速删除列表中多个元素的方法。

二、具体用法

例如:待处理列表为['香蕉','橘子','火龙果','梨','苹果','柚子','csdn']
已知删除元素的索引为[1,2,6]

  • 方法一
    使用pop方法进行删除
lis = ['香蕉','橘子','火龙果','梨','苹果','柚子','csdn']
index_list = [1,2,6]

index_list.reverse()  # 对索引进行反转,使其从后往前删除
for i in index_list:
        lis.pop(i)

print('删除后lis的值:%s' %lis)
# 运行结果
删除后lis的值:['香蕉', '梨', '苹果', '柚子']
  • 方法二
    借助enumerate()方法,代码如下:
lis = ['香蕉','橘子','火龙果','梨','苹果','柚子','csdn']
index_list = [1,2,6]
lis = [n for i, n in enumerate(lis) if i not in index_list]
print('删除后lis的值:%s' %lis)
# 运行结果
删除后lis的值:['香蕉', '梨', '苹果', '柚子']

补充:简单介绍下enumerate()使用

  • 含义:对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
lis = ['香蕉','橘子','火龙果','梨','苹果','柚子','csdn']
for i, n in enumerate(lis):
    print(i,n)

# 运行结果
0 香蕉
1 橘子
2 火龙果
34 苹果
5 柚子
6 csdn

你可能感兴趣的:(python小技巧,python,列表)