理解列表排序的返回值
在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中文网其他相关文章!