有没有一种有效的方法可以解决以下问题:
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]
