0
我有兩個列表 - lista = [1,2,3,5,0,5,6,0] listb = [4,7]如何從一個列表中刪除元素,如果其他列表包含要刪除元素的索引
listb包含索引號。我如何從列表中刪除索引4和7(包含在lisb中)。
我這樣想打印new_lista爲[1,2,3,5,5,6]
我希望這是有道理的。
Alwina
我有兩個列表 - lista = [1,2,3,5,0,5,6,0] listb = [4,7]如何從一個列表中刪除元素,如果其他列表包含要刪除元素的索引
listb包含索引號。我如何從列表中刪除索引4和7(包含在lisb中)。
我這樣想打印new_lista爲[1,2,3,5,5,6]
我希望這是有道理的。
Alwina
使用enumerate
:
new_lista = [j for i, j in enumerate(lista) if i not in listb]
您可以嘗試以下。
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)
非常感謝! – Alwina 2013-02-20 11:59:58