我想写一个函数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'来摆脱重复? –
是的,我试图通过从头开始编写函数来理解循环。对于我来说,概念对我来说更重要,而不是虚拟的结果。感谢您的帮助。 –