Pythonの組み込みメソッドであるsort()
は、リストの要素を効率的に並べ替えるための強力なツールです。この記事では、基本的な使い方から応用例まで、具体的なサンプルコードを交えて解説します。

今回はPythonのソートの使用方法についてお勉強しよう!
Pythonのsortの使用方法
プログラム内でデータを整理し、目的に合わせた表示順序を実現するためにはリストの並べ替えが欠かせません。Pythonのsort()
メソッドを利用することで、リスト内の要素を手軽に昇順・降順に並べ替えることが可能です。また、key引数を使えば独自の基準に沿ったソートも実現できます。
基本的なsortの使い方
sort()
メソッドは、リストそのものを直接並べ替えます。特別な指定をしなければ、デフォルトで昇順にソートされます。以下はその基本的な使用例です。
# 数値リストを昇順にソートする
numbers = [5, 2, 1, 3, 4]
numbers.sort()
print(numbers) # 出力: [1, 2, 3, 4, 5]
ソートのデフォルト動作は昇順です。数値や文字列など、比較可能なデータ型の場合、単にsort()を呼び出すだけで、最小から最大へと並び替えが行われます。
昇順でのソート
昇順に並べ替えるには、sort()
を使用します。
numbers = [5, 2, 1, 3, 4]
numbers.sort()
print(numbers) # Output: [1, 2, 3, 4, 5]
上の例では、listであるnumbers
の要素を昇順に並び変えています。
降順(逆順)でのソート
リストを逆順、つまり降順に並べ替えたい場合は、reverse=True
というパラメータを指定します。以下の例では、数値リストを大きい順に整列させています。
# 数値リストを降順にソートする
numbers = [5, 2, 1, 3, 4]
numbers.sort(reverse=True)
print(numbers) # 出力: [5, 4, 3, 2, 1]
key関数を利用したソート
リストの各要素に対して特定の基準でソートを行いたい場合、key
パラメータに関数を指定します。例えば、文字列の長さを基準にソートする場合、組み込みのlen
関数を利用します。
# 文字列リストを要素の長さでソートする
words = ['banana', 'apple', 'strawberry', 'cherry']
words.sort(key=len)
print(words) # 出力: ['apple', 'banana', 'cherry', 'strawberry']
このように、key
関数を使うことで、単純な大小比較だけではなく、カスタムなルールに基づいた並べ替えが可能です。
多次元配列のソート
Pythonの多次元配列をソートするためには、sort()
関数のkey引数を使うことで実現できます。key引数には、ソートの順番を定義する関数を指定します。
次の例では、2次元配列が与えられ、それぞれの1番目の要素に基づいてソートするためにkey
パラメータにlambda x: x[0]
という無名関数を指定しています。この関数はリストの最初の要素(x[0]
)を返し、sort()
関数は、この関数を使用して各リストのソート順を判断します。
# 2次元配列の各サブリストの1番目の要素でソートする例
array = [[2, 'c'], [1, 'b'], [3, 'a']]
array.sort(key=lambda x: x[0])
print(array) # 出力: [[1, 'b'], [2, 'c'], [3, 'a']]
同様に、リストの2番目の要素を基準にソートする場合は、lambda関数をlambda x: x[1]
のように変更します。
# 2次元配列の各サブリストの2番目の要素でソートする例
array = [[2, 'c'], [1, 'b'], [3, 'a']]
array.sort(key=lambda x: x[1])
print(array) # 出力: [[3, 'a'], [1, 'b'], [2, 'c']]
まとめ
本記事では、Pythonのsort()
メソッドを用いたリストの並べ替え方法について、以下の点を解説しました。
- 基本的な使用方法
リストを直接昇順に並べ替える。 - 昇順・降順の切り替え
reverseパラメータを使い、並び順を自由に変更可能。 - key関数によるカスタムソート
特定のルール(例:文字列の長さ)に基づいて要素を並べ替える。 - 多次元配列のソート
リストの特定の要素を基準にして整列する方法。
実際にサンプルコードを試しながら、自分のコードに応用してみましょう。データの整列は、プログラムの可読性や効率性を向上させる重要な技術です。

今回はPythonのソートの使用方法についてお勉強したよ!