Python での自然な文字列ソート
自然なソートは、文字列の番号とバージョンを正しく処理するアルファベット順のソート アルゴリズムです。たとえば、数学的比較では「10」が「0」より大きいとみなされる場合でも、「elm0」を「elm10」より前にソートする必要があります。
Python のネイティブのsorted() 関数は、デフォルトでは自然なソートを実行しません。この動作を実現するには、自然な並べ替えアルゴリズムを実装する natsort ライブラリを利用できます。
natsort を使用するには、次の方法でインストールします。
pip install natsort
その後、要件に応じて、並べ替え関数または並べ替えキーを使用できます:
並べ替え関数:
from natsort import natsorted names = ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13'] natsorted(names) # ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
並べ替えキー:
from natsort import natsort_keygen names = ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13'] sort_key = natsort_keygen() names.sort(key=sort_key) # ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
必要に応じて、natsort の大文字と小文字を区別しない並べ替えアルゴリズムを使用することもできます:
from natsort import ns natsorted(names, alg=ns.IGNORECASE) # ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
natsort ライブラリは、自然な並べ替えを実行するための包括的なソリューションを提供します。 Python、さまざまな入力形式を処理し、大文字と小文字を区別しない並べ替えのオプションと、オペレーティング システムのファイル システム ブラウザの並べ替えとの互換性を提供します。
以上がPython で自然な文字列ソートを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。