2019-10-09
Why does “return list.sort()” return None, not the list?
stackoverflow
Question

I've been able to verify that the findUniqueWords does result in a sorted list. However, it does not return the list, why?

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
Answer
1

list.sort sorts the list in place, i.e. it doesn't return a new list. Just write

newList.sort()
return newList
Why does “return list.sort()” return None, not the list?
See more ...