ホームページ >バックエンド開発 >Python チュートリアル >Python の「natsort」ライブラリはどのようにして自然な並べ替えを実現するのでしょうか?

Python の「natsort」ライブラリはどのようにして自然な並べ替えを実現するのでしょうか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-28 18:09:10755ブラウズ

How Does Python's `natsort` Library Achieve Natural Sorting?

Python での自然な並べ替え

Python では、sorted() 関数は文字列を ASCIIbetical 順に並べ替えます。ただし、自然な並べ替えが必要なシナリオでは、natsort と呼ばれるライブラリが役に立ちます。

natsort を使用した自然な並べ替え

natsort は、並べ替え関数と並べ替えキーの両方を提供します。並べ替え関数の場合、natsorted():

from natsort import natsorted

l = ['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9']
natsorted(l, key=lambda y: y.lower())

これにより、自然な順序 ('elm0'、'elm1' など) に従ってリストが並べ替えられます。

並べ替えnatsort_keygen でキー

ソートキーの方が適切な場合は、次のように使用できます。 natsort_keygen():

from natsort import natsort_keygen

l = ['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9']
sort_key = natsort_keygen(key=lambda y: y.lower())
l.sort(key=sort_key)

これは、同じ自然な順序でリストを並べ替えます。

特殊なケース: Windows エクスプローラーのような並べ替え

natsort は、次の目的に os_sorted 関数も提供します。特定のオペレーティング環境のファイル システム ブラウザと同じ順序で並べ替えます。 system:

from natsort import os_sorted

paths = ['path/to/file1', 'path/to/file10', 'path/to/file2']
os_sorted(paths)

これにより、オペレーティング システムのファイル エクスプローラーに従ってパスが並べ替えられます。

以上がPython の「natsort」ライブラリはどのようにして自然な並べ替えを実現するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。