首页 >后端开发 >Python教程 >为什么 Python 的 `list.sort()` 不返回排序列表?

为什么 Python 的 `list.sort()` 不返回排序列表?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-10 11:37:11836浏览

Why Doesn't Python's `list.sort()` Return the Sorted List?

理解列表排序的返回值

在Python中,在列表上使用“sort()”函数并不直接返回排序后的列表。相反,它会就地修改原始列表,而不产生显式返回值。

这种与期望的偏差可能会导致混乱,因为调用者可能期望函数返回排序后的列表。澄清一下,“list.sort()”不会创建新的排序列表,而是重新组织现有列表中的元素。

要获得所需的排序列表作为输出,代码应显式返回排序列表。所提供的代码片段的更正版本应为:

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)

    newList.sort()
    return newList

通过在循环外部添加“newList.sort()”,列表将就地排序。然后,返回“newList”确保排序后的列表可供调用者使用。

以上是为什么 Python 的 `list.sort()` 不返回排序列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn