我不确定为什么我的代码没有做我想要的(我想返回一个独特的项目列表)
B = ["blue", "blue", "red", "green", "red", "blue", "yellow", "green", "blue", "red"]
def makeUnique(list):
unique = []
for i in range(0, len(list)):
if list[i] not in unique:
unique.append(item)
return unique
print makeUnique(B)
返回
['red', 'red', 'red', 'red', 'red', 'red', 'red']
编辑:ident可能不正确,当粘贴一些时遗漏了,所以它不是一个ident错误或某事
答案 0 :(得分:3)
Maurice Meyer已经在你的代码中发现了这个错误,但总的来说,这个算法并不是最优的 - 要在列表中找到唯一值,只需这样做:
newlist = list(set(oldlist))
答案 1 :(得分:2)
您附加item
,该功能不存在于该功能的上下文中。你必须附加你正在迭代的项目:
B = ["blue", "blue", "red", "green", "red", "blue", "yellow", "green", "blue", "red"]
def makeUnique(list):
unique = []
for i in range(0, len(list)):
if list[i] not in unique:
unique.append(list[i])
return unique
print(makeUnique(B)) # ['blue', 'red', 'green', 'yellow']