コード一覧

【Python】sortを使ってリストlistの中を並び替える方法

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メソッドなどがあります。それぞれの違いについては、別途ご確認ください。