假設我有填充索引列表去除刪除某些索引
remove = [0, 2, 4, 5, 7, 9, 10, 11]
然後,我必須列出的另一份名單,如
l = [['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l']]
我想在刪除值刪除索引
假設我有填充索引列表去除刪除某些索引
remove = [0, 2, 4, 5, 7, 9, 10, 11]
然後,我必須列出的另一份名單,如
l = [['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l']]
我想在刪除值刪除索引
如果您執行一步一步執行,問題將變得明顯。
隨着您刪除元素,下列元素的位置發生變化。例如,如果從列表中刪除元素0,元素1的元素將變爲元素0.
如果您想堅持使用當前方法,只需按相反順序遍歷索引(不需要值,只需使用range
)。
我很困惑這是什麼意思「遍歷索引在相反的順序「 –
@JetAlex刪除元素在'11',然後在'10',然後在'9',然後在'7' ... –
如果你不想列表解析,你可以使用一個像情侶循環所以:
for x in remove[::-1]:
for list in l:
del list[x]
[[ 'b', 'd', 'G', 'I'],[ 'b', 'd', 'G', 'I'〕]
隨着您刪除元素,您的指標ces改變... –
甚至沒有想到 –
你有錯誤嗎?像一個'IndexError'?我的第一個猜測是,由於您從頭開始刪除元素,因此每次刪除某些內容時,列表的右側部分都會左移,導致您最終要刪除的某些索引超出範圍。 –