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

发布网友 发布时间:2022-04-22 03:15

我来回答

4个回答

热心网友 时间:2022-05-10 05:53

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里面的数字必须是从小到大的顺序排列的,

追问谢谢, 可现实是 不按顺序排列, 并且有 字符串 夹杂, 怎么办?

追答那你先把removelist这个按顺序排列就行了
至于你说的字符串,这个不符合题目吧,list的键都是数字,

热心网友 时间:2022-05-10 07:11

remove_list.reverse()

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

热心网友 时间:2022-05-10 08:45

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

热心网友 时间:2022-05-10 10:37

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com