我的代码假设接受一个数字列表,对它们进行排序,然后删除任何重复项。但是,在使用调试器时,它告诉我NoneType的对象没有长度,这意味着我的函数没有返回任何内容。
def makeUnique(numList):
numList = numList.sort()
i = 0
while i < (len(numList)):
if numList[i] == numList[i + 1]:
del numList[i + 1]
else:
i = i + 1
return numList
makeUnique([7,2,5,5,3,1,0])
我经历了很多问题同样的问题,但它似乎并没有起作用。这非常令人沮丧。
答案 0 :(得分:4)
numList = numList.sort()
sort()
对列表进行排序。它没有返回任何东西;它修改了原始列表。这个:
numList.sort()
或:
numList = sorted(numList)
答案 1 :(得分:0)
numList = numList.sort()的问题。 numList.sort()在排序后返回null,并指定再次列表意味着numList具有becom无,并且在len方法中使用它时进一步引发错误
def makeUnique(numList):
numList.sort()
i = 0
while i < (len(numList)):
if numList[i] == numList[i + 1]:
del numList[i + 1]
else:
i = i + 1
return numList
print makeUnique([7,2,5,5,3,1,0])