ホームページ >バックエンド開発 >Python チュートリアル >Python の「list.sort()」がソートされたリストを返さないのはなぜですか?
リストの並べ替えの戻り値を理解する
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 中国語 Web サイトの他の関連記事を参照してください。