複数のインデックスに基づいてpythonリストの対応する位置の要素を効率的に削除

6457 ワード

注意:要素の数が多すぎると効率が高くなります
List a=[0,1,2,3,4,5,6,7,8,9,10] ;
List b = [2,3,4]
ターゲット:aのインデックス位置bの要素を削除する
基準:
set([1,2,6,8]) - set([2,3,5,8])  
  :set([1, 6])
a_index = [i for i in range(len(a))]
a_index = set(a_index)
b_index = set(b)
index = list(a_index-b_index)
a = [a[i] for i in index]
print(a)
[0, 1, 5, 6, 7, 8, 9, 10]