在Python中排序字符串列表3. ASCIIbetical order VS按字母顺序排列?

时间:2018-06-05 10:05:26

标签: python string python-3.x list sorting

我知道 sort()使用“ASCIIbetical order”而不是实际的字母 命令用于排序字符串。这意味着大写字母在小写之前 字母。因此,小写字母a被排序,以便它在之后 大写Z.举个例子:

.createQuery("SELECT s from table s WHERE s.date_created BETWEEN 
     (CURRENT_DATE() - INTERVAL 1 MONTH) AND CURRENT_DATE()");

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

1 个答案:

答案 0 :(得分:0)

您可以将str.casefoldsorted一起使用。注意casefoldlower的更严格版本。

from operator import methodcaller

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

print(result)

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