在 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中文网其他相关文章!