Skip to main content
 首页 » 编程设计

python之如何删除给定索引集的列表元素

2025年05月04日21sxdcgaq8080

有没有一种有效的方法可以解决以下问题:

lst = [1,2,3,4,5] 
indexes_to_remove = [0,2,4] 
 
#result 
lst = [2,4] 

我的解决方案

lst = [1,2,3,4,5] 
indexes_to_remove = [0,2,4] 
 
x = -1 
for i in range(len(indexes_to_remove)): 
    x+=1 
    if i!=0: 
        indexes_to_remove[i] = indexes_to_remove[i] - x # because indexes will shift 
    lst.remove(lst[indexes_to_remove[i]]) 

请您参考如下方法:

lst = [1,2,3,4,5] 
indexes_to_remove = [0,2,4] 
 
lst = [item for i, item in enumerate(lst) if i not in indexes_to_remove] 
 
print(lst) 

打印:

[2, 4]