如果其他列表包含要删除的元素的索引,如何从一个列表中删除元素

时间:2013-02-20 07:25:02

标签: python-3.x

我有两个清单 - lista = [1,2,3,5,0,5,6,0] listb = [4,7]

listb包含索引号。如何从lista中删除索引4和7(包含在lisb中)。

因此我想将new_lista打印为[1,2,3,5,5,6]

我希望这是有道理的。

Alwina

2 个答案:

答案 0 :(得分:1)

您可以尝试跟随。

for x in sorted(listb,reverse=True): lista.pop(x)

此外,您可能需要确保listb不包含重复索引,并且所有索引号都是有效索引。

for x in sorted(set([y for y in listb if -1 < y < len(lista)]),reverse=True): lista.pop(x)

答案 1 :(得分:0)

使用enumerate

new_lista = [j for i, j in enumerate(lista) if i not in listb]