我有四個數組,比如A,B,C和D,它們的大小相同,但我想刪除它們中的所有0。如果A有一個零,B,C和D也有一個,在同一個位置。所以我想遍歷A的元素:一次刪除多個數組中的給定值的所有出現
for n in range(NumElements):
if A[n]==0:
A.pop(n)
B.pop(n)
C.pop(n)
D.pop(n)
當然,這是不行的,因爲從陣列彈出0降低它們的大小,所以我最終試圖訪問A [包含numElements-1 ],現在A只有NumElements-m長。我知道我應該使用數組副本,但數組很長,我想保持低內存消耗,因爲我在Java虛擬機中工作(不要問:(((()。另外,我想的方法是有效的,但最重要的可讀性(此代碼必須通過Python的文盲像我這樣保持下去,所以我需要親吻)。謝謝,
deltaquattro
+1,很好的一個,我忘記了:: - 1,使用比python更多的C#在工作:) –
@RomanPekar:我不再創建一個新的列表;在這種情況下,我更喜歡'反轉(range())'。 –
是啊,我知道了,對我來說這是一個很好的餘數 –