为什么“return list.sort()”返回None,而不是列表?

新手上路,请多包涵

我已经能够验证 findUniqueWords 确实导致排序 list 。但是,它不会返回列表。为什么?

 def findUniqueWords(theList):
    newList = []
    words = []

    # Read a line at a time
    for item in theList:

        # Remove any punctuation from the line
        cleaned = cleanUp(item)

        # Split the line into separate words
        words = cleaned.split()

        # Evaluate each word
        for word in words:

            # Count each unique word
            if word not in newList:
                newList.append(word)

    answer = newList.sort()
    return answer

原文由 Lee_Str 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 969
2 个回答

list.sort 对列表进行就地排序,即它不返回新列表。写吧

newList.sort()
return newList

原文由 Ismail Badawi 发布,翻译遵循 CC BY-SA 3.0 许可协议

问题在这里:

 answer = newList.sort()

sort 不返回排序后的列表;相反,它将列表排序到位。

采用:

 answer = sorted(newList)

原文由 NPE 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题