在 Python 中,sorted() 函數依 ASCII 順序對字串進行排序。然而,對於需要自然排序的場景,一個名為 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():
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)
這將以相同的自然順序對列表進行排序。
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中文網其他相關文章!