Python 3中的字符串排序列表:ASCII排序顺序VS字母顺序?

2024-05-13 13:35:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道sort()使用“asciibetic order”,而不是实际的字母顺序 排序字符串的顺序。这意味着大写字母在小写字母之前 信件。因此,对小写字母a进行排序,使其位于 大写Z。例如:

>>> spam = ['Alice', 'ants', 'Bob', 'badgers', 'Carol', 'cats']
>>> spam.sort()
>>> spam
['Alice', 'Bob', 'Carol', 'ants', 'badgers', 'cats']

但是,我怎样才能得到实际字母顺序的结果,而不是字母顺序。在


Tags: 字符串排序顺序字母orderspamsortbob
1条回答
网友
1楼 · 发布于 2024-05-13 13:35:45

您可以将str.casefoldsorted一起使用。注意casefold是{}的更严格版本。在

from operator import methodcaller

result = sorted(spam, key=methodcaller('casefold'))

print(result)

['Alice', 'ants', 'badgers', 'Bob', 'Carol', 'cats']

相关问题 更多 >