所以這是一個更大的數據集的一部分,但我在這裏簡化了它。假設您有以下代碼。我想要做的是提取子數組,基於什麼是中間元素(這就是dataStore的用途)。側面說明,我知道名單的可變性,並且當我做德爾行[1],我永遠會影響數據使用刪除刪除2D列表中的元素的問題
dataStore = []
data = [[1,3,7], [1,0,1],[2,0,2],[9,0,9], [3,1,9]]
print(data)
for index in range(0, 5):
temp = []
for row in data:
if row[1] == index:
del row[1]
temp.append(row)
del data[ data.index(row)]
dataStore.append(temp)
輸出是: Data: [[2, 0, 2]] DataStore: [[[1, 1], [9, 9]], [[3, 9]], [], [[1, 7]], []]
現在的數據應該是空的我」之後完成了,並且這裏的錯誤是(2,0,2)不會被刪除,因爲它與剛被刪除的東西背對背。你如何解決這個問題?
我如何處理事情:我覺得這是因爲當你做del data[ data.index(row)]
時,它會將所有東西都移動一次,但是行仍然在前進。所以我想到的是第二個鏡像列表的解決方案,但我無法弄清楚它的語法
這是我最終選擇,但我最終拼接連續兩次因爲原來的問題將具有可變大小的方法 – Excal