我想寫一個函數remove_duplicates
來從列表輸入中只返回唯一值。我試圖想出一些代碼,但它是拋出無限循環錯誤。我無法理解爲什麼。我的目標不是實現結果,因爲我發現有像'SET'這樣的直接方法可以做到這一點。但是,我主要想要理解我的錯誤,因爲這是我的第一語言,也是第一天的任何編碼。從列表中刪除重複項的功能Python
def remove_duplicates(x):
z = [x[0]]
for i in range(1,len(x)):
y = i-1
k = 0
while y >= 0:
if x[i] == x[y]:
k = k + 1
y -= 1
else:
break
if k == 0:
z.append(x[i])
return z
如果不是'X [I] == X [Y]:'你永遠不會減少'y'並陷入循環。 –
任何特定的原因,你不只是使用'in'或'set'來擺脫重複? –
是的,我試圖通過從頭開始編寫函數來理解循環。對於我來說,概念對我來說更重要,而不是虛擬的結果。感謝您的幫助。 –