我有一個包含其他列表和字典值的元素的大型列表。的基本結構是:元素刪除後的內部循環行爲
for i in outer:
for j in range(len(inner)-1,-1,-1):
if j:
del outer[i]
所以數據的在嵌套結構中存在指示我們是否保留在外部列表整個元件。刪除元素會在外部列表中立即轉移。
我是否需要明確繼續控制邏輯或者這是否暗示發生了嗎?
for i in outer:
for j in range(len(inner)-1,-1,-1):
if j:
del outer[i]
continue
我目前使用這似乎給了我想要的結果,同時運行測試前設置。我想我只是試圖確定內部循環是否會在調用del
之後不必要地運行,或者Python足夠聰明以知道先前的第i個元素已被刪除,並且不再需要繼續遍歷其內部。
你爲什麼不直接'打印(i)'並自己測試一下? – pbreach
'del outer [i]'不會做你認爲它做的事。 '我'是元素,而不是它的索引。 – Barmar
你的意思是像'爲我,內在枚舉(外):'? – Barmar