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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python删除list列表多个指定位置中的元素相关的知识,希望对你有一定的参考价值。

li1=[12,3,4,5,2,34,5,6,7,3,5,6,66]
removelist=[1,2,4,5]
要从li1中删除 位置 在1,2,4,5的元素

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的键都是数字,

参考技术A remove_list.reverse()

for item in remove_list:
li1.pop(item)
将列表排序后,从后往前删就行了
参考技术B li1 = [li1[i] for i in range(len(li1)) if (i not in removelist)]
一句话就搞定了

参考技术C 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

以上是关于python删除list列表多个指定位置中的元素的主要内容,如果未能解决你的问题,请参考以下文章

python如何删除列表中的元素

python从列表中删除元素

Python列表操作

python列表

怎么查找python列表中元素的位置

python 列表删除元素问题?