Pythonには、リストをソートするための組み込み関数があります。これらの関数は、リストの要素を特定の順序で並べ替えることができます。
list.sort()とsorted()
Pythonのリストには、list.sort()
という組み込みメソッドがあります。このメソッドは、リストをその場で変更します。また、新しいソートされたリストを作成するsorted()
という組み込み関数もあります。
# list.sort()の例
a = [5, 2, 3, 1, 4]
a.sort()
print(a) # [1, 2, 3, 4, 5]
# sorted()の例
b = [5, 2, 3, 1, 4]
c = sorted(b)
print(c) # [1, 2, 3, 4, 5]
key引数
list.sort()
とsorted()
の両方には、比較を行う前に各リスト要素に対して呼び出される関数を指定するためのkey
パラメータがあります。
# key引数の例
words = "This is a test string from Andrew".split()
print(sorted(words, key=str.casefold))
# ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']
このテクニックは高速で、キー関数は各入力レコードに対して正確に一度だけ呼び出されます。
ソートのパフォーマンス
key
とcmp
のパフォーマンスを比較すると、key
を使用したソートは、cmp
を使用したソートの少なくとも2倍の速さであることがわかります。
以上、Pythonのリストソートについての基本的な情報をご紹介しました。これらの知識を活用して、Pythonプログラミングの効率を向上させてください。