python删除list列表多个指定位置中的元素

2025-06-23 01:49:10
推荐回答(4个)
回答1:

li1=[12,3,4,5,2,34,5,6,7,3,5,6,66]
removelist=[1,2,4,5]
x = 0
for y in removelist:
li1.pop(y-x)
x+=1
print li1

这样有一个要求就是removelist里面的数字必须是从小到大的顺序排列的,

回答2:

remove_list.reverse()

for item in remove_list:
li1.pop(item)
将列表排序后,从后往前删就行了

回答3:

li1 = [li1[i] for i in range(len(li1)) if (i not in removelist)]
一句话就搞定了

回答4:

li1=[12,3,4,5,2,34,5,6,7,3,5,6,66]
removelist=[1,2,4,5]
new_list = list()
for i in range(len(li1)):
    if not(i in removelist):
        new_list.append(li1[i])
li1 = new_list