首页 >后端开发 >Python教程 >如何在 Python 中执行自然字符串排序?

如何在 Python 中执行自然字符串排序?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-28 14:29:11324浏览

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn