Pythonにはリストをソートするための組み込み関数があります。list.sort()メソッドとsorted()関数です。

list.sort()メソッドはリストをインプレース(元の場所)で変更します。一方、sorted()関数はイテラブルから新しいソートされたリストを作成します。

# 昇順にソートする基本的な方法
a = [5, 2, 3, 1, 4]
a.sort()
print(a)  # Output: [1, 2, 3, 4, 5]

list.sort()メソッドとsorted()関数の両方には、比較を行う前に各リスト要素に対して呼び出される関数を指定するためのkeyパラメータがあります。

# 文字列のケースを無視したソート
sorted("This is a test string from Andrew".split(), key=str.casefold)
# Output: ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']

keyパラメータの値は、ソート目的で使用するキーを返す関数(または他の呼び出し可能なもの)であるべきです。

# 年齢でソートする例
student_tuples = [
    ('john', 'A', 15),
    ('jane', 'B', 12),
    ('dave', 'B', 10),
]
sorted(student_tuples, key=lambda student: student[2])  # sort by age
# Output: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

このテクニックは、オブジェクトのインデックスの一部をキーとして使用して複雑なオブジェクトをソートする一般的なパターンです。

以上がPythonのリストを関数を使ってソートする方法についての基本的な説明です。これらの知識を活用して、Pythonプログラミングの効率を向上させてください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です