在 Python 中对字符串列表进行排序
编程中的常见任务之一是对文本数据进行排序。在 Python 中,可以使用各种技术来实现对字符串列表的排序。
基本排序
最简单的方法是对列表本身使用 sort() 方法。这会就地对列表进行排序,并修改原始顺序。
mylist = ["b", "C", "A"] mylist.sort()
排序副本
如果您想创建列表的排序副本而不修改原来,使用sorted()函数。
for x in sorted(mylist): print(x)
区域设置敏感排序
默认情况下,Python 执行区分大小写、仅 ASCII 的排序。要考虑特定于区域设置的规则,请将 key 参数与 functools 中的 cmp_to_key() 帮助器结合使用。
import locale from functools import cmp_to_key sorted(mylist, key=cmp_to_key(locale.strcoll))
自定义区域设置排序
您可以指定自定义区域设置用于排序。例如,要根据 UTF-8 编码的英文规则进行排序:
import locale locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') # ...
不区分大小写的排序
避免使用 lower() 等方法来区分大小写 -不敏感排序,因为它们仅适用于 ASCII 字符。相反,请使用 strcoll() 等工具进行区域设置敏感排序。
不正确的不区分大小写排序
# Incorrect because it uses lower(), which is limited to ASCII mylist.sort(key=lambda x: x.lower())
以上是如何在 Python 中对字符串列表进行排序:综合指南的详细内容。更多信息请关注PHP中文网其他相关文章!