sortはリストを並び替えるための関数です。
Pythonのsort関数は、リスト内の要素を昇順または降順に並び替えることができます。
以下は、sortを使ったサンプルコードです。
# リストを定義する
numbers = [3, 1, 4, 2]
# リストを昇順(小さい順)に並び替える
numbers.sort()
print(numbers) # [1, 2, 3, 4]
# リストを降順(大きい順)に並び替える
numbers.sort(reverse=True)
print(numbers) # [4, 3, 2, 1]
# 昇順に並び替える場合
numbers = [3, 1, 4, 2]
numbers.sort()
print(numbers) # [1, 2, 3, 4]
# 降順に並び替える場合
words = ['apple', 'banana', 'cherry']
words.sort(reverse=True)
print(words) # ['cherry', 'banana', 'apple']
sortは、リストの要素が自然数、文字列、タプルなどであれば、デフォルトでは昇順(小さい順)で並び替えます。
自然数、文字列、タプル以外の要素を持つリストを並び替える場合や、昇順以外の順序で並び替えたい場合は、キーワード引数を使って、並び替えの方法を指定することができます。
以下は、並び替えの方法を指定するサンプルコードです。
# リストを定義する
mixed = [('a', 3), ('c', 2), ('b', 1)]
# 要素の2番目の要素で昇順に並び替える
mixed.sort(key=lambda x: x[1])
print(mixed) # [('b', 1), ('c', 2), ('a', 3)]
# 要素の2番目の要素で降順に並び替える
mixed.sort(key=lambda x: x[1], reverse=True)
print(mixed) # [('a', 3), ('c', 2), ('b', 1)]
上記の例では、タプルのリストを要素の2番目の要素で並び替えています。
また、sort関数では、stableオプションを指定することで、同じ値を持つ要素のソート順を維持しています。
sort関数は、リスト内の要素をin-placeで並び替えます。つまり、元のリストを変更して並び替えた結果を返すので、新しいリストを作成する必要はありません。
また、sort関数は、比較関数を指定することで、要素を特定のキーで並び替えることができます。以下は、比較関数を使用した例です。
# 文字列の長さで並び替える場合
words = ['apple', 'banana', 'cherry']
words.sort(key=len)
print(words) # ['apple', 'banana', 'cherry']
sort関数は、Pythonのリストに内置されている関数です。他にも、Pythonには、リストを並び替えるための関数やメソッドが複数あります。例えば、sorted関数や、リストのメソッドであるsortメソッドなどがあります。それぞれの違いについては、別途ご確認ください。