ホームページ > バックエンド開発 > Python チュートリアル > Python で自然な文字列ソートを実行するにはどうすればよいですか?

Python で自然な文字列ソートを実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-28 14:29:11
オリジナル
270 人が閲覧しました

How Can I Perform Natural String Sorting in Python?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート