\

Pythonには、リストをインプレースに変更する組み込みメソッド list.sort() と、イテラブルからソートしたリストを作成する組み込み関数 sorted() があります。これらの関数は、Pythonで利用可能な様々なソートテクニックの一部です。

ソートの基本

単純な昇順のソートはとても簡単です。sorted() 関数を呼ぶだけで、新たにソートされたリストが返されます。

>>> sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]

list.sort() メソッドを呼び出しても同じことができます。この方法はリストをインプレースに変更します。

>>> a = [5, 2, 3, 1, 4]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]

Key関数

list.sort()sorted() には key パラメータがあります。これは比較を行う前にリストの各要素に対して呼び出される関数 (または呼び出し可能オブジェクト) を指定するパラメータです。

>>> sorted("This is a test string from Andrew".split(), key=str.casefold)
['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']

ソートアルゴリズム

Pythonの sort() メソッドは、バージョン3.11以降、powersortというマージソートアルゴリズムを使用しています。また、Pythonの sorted() 関数は、Timsortというハイブリッドソートアルゴリズムを使用しています。

以上がPythonのリストソートアルゴリズムについての基本的な情報です。これらの知識を活用して、Pythonプログラミングをより効率的に行うことができます。

投稿者 admin

コメントを残す

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