Pythonのリストをソートする際には、sort()
メソッドとsorted()
関数の2つの方法があります。しかし、これらの違いを理解していないと、予期しない結果を得ることがあります。特に、sort()
メソッドを使用した後にNoneが返される理由について混乱することがよくあります。
sort()メソッドとは
sort()
メソッドは、リスト自体をソートします。つまり、元のリストが変更され、ソートされたリストが得られます。しかし、sort()
メソッドはNoneを返します。これは、sort()
が破壊的なメソッドであり、自身を変更するだけであるためです。
list = [9,6,3,2,5,8,7,4,1]
sorted_list = list.sort()
print(sorted_list) # None
print(list) # [1,2,3,4,5,6,7,8,9]
sorted()関数とは
一方、sorted()
関数は新しいソートされたリストを返します。元のリストは変更されません。
list = [9,6,3,2,5,8,7,4,1]
sorted_list = sorted(list)
print(sorted_list) # [1,2,3,4,5,6,7,8,9]
このように、Pythonのリストをソートする際には、sort()
メソッドとsorted()
関数の違いを理解することが重要です。それぞれの特性を理解し、適切な場面で適切な方法を選択しましょう。