Python:sort()、sorted()によるリストの昇順、降順ソート

スポンサーリンク

sort()、sorted()によるリストの昇順、降順ソート

リストの要素を値の順序で並び替える関数としてふたつの関数があります。

  • リスト関数のsort()は、その場でリスト自体をソートします。
  • 汎用関数のsorted()は、ソートされたリストのコピーを返します。

リストの要素が数値なら、デフォルトで数値の昇順でソートされます。要素が文字列なら、アルファベット順でソートされます。

>>> fruits = ['banana', 'orange', 'apple', 'strawberry']
>>> sorted_fruits = sorted(fruits)
>>> sorted_fruits
['apple', 'banana', 'orange', 'strawberry']
>>> fruits
['banana', 'orange', 'apple', 'strawberry']

sorted_fruitsはコピーなのでオリジナルのリストを変更されませんが、リスト関数のsort()を呼び出すとfruitsリスト自体が書き換えられます。

>>> fruits.sort()
>>> fruits
['apple', 'banana', 'orange', 'strawberry']

デフォルトのソート順は昇順ですが、reverse=True引数を追加すれば降順でソートされます。

>>> fruits = ['banana', 'orange', 'apple', 'strawberry']
>>> sorted_fruits = sorted(fruits, reverse=True)
>>> sorted_fruits
['strawberry', 'orange', 'banana', 'apple']
>>> fruits.sort(reverse=True)
>>> fruits
['strawberry', 'orange', 'banana', 'apple']