[Python]リストのソート、逆順ソート

sort()メソッドによるリストのソート(昇順ソート)

Pythonのリストには、要素を昇順(小さい順)にソートする sort() メソッドがあります。リストの要素が数値である場合、小さい数値から大きい数値へとソートされます。文字列の場合、アルファベット順(辞書順)にソートされます。

例えば、数値のリストをソートするには次のようにします。

numbers = [5, 1, 9, 3, 7]
numbers.sort()
print(numbers)  # [1, 3, 5, 7, 9]を表示

sort()メソッドの引数を用いた降順ソート

sort() メソッドには reverse 引数があり、これを True にするとリストの要素を降順(大きい順)にソートします。

例えば、数値のリストを降順にソートするには次のようにします。

numbers = [5, 1, 9, 3, 7]
numbers.sort(reverse=True)
print(numbers)  # [9, 7, 5, 3, 1]を表示

reverse()メソッドによるリストの逆順ソート

reverse() メソッドを使用すると、リストの要素を現在の順序の逆順に並べ替えることができます。これはソートではなく、単にリストを反転させます。

例えば、リストの要素を逆順にするには次のようにします。

numbers = [1, 2, 3, 4, 5]
numbers.reverse()
print(numbers)  # [5, 4, 3, 2, 1]を表示

このメソッドは元のリストを直接変更(インプレース)します。元のリストを変更せずに新しい逆順のリストを作成する場合は、スライシングのステップ引数を -1 にするという方法もあります。

numbers = [1, 2, 3, 4, 5]
reversed_numbers = numbers[::-1]
print(reversed_numbers)  # [5, 4, 3, 2, 1]を表示