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]
要从li1中删除 位置 在1,2,4,5的元素 展开
removelist=[1,2,4,5]
要从li1中删除 位置 在1,2,4,5的元素 展开
4个回答
展开全部
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的键都是数字,
展开全部
remove_list.reverse()
for item in remove_list:
li1.pop(item)
将列表排序后,从后往前删就行了
for item in remove_list:
li1.pop(item)
将列表排序后,从后往前删就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
li1 = [li1[i] for i in range(len(li1)) if (i not in removelist)]
一句话就搞定了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询