我知道 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 的结果。
答案 0 :(得分:0)
您可以将str.casefold
与sorted
一起使用。注意casefold
是lower
的更严格版本。
from operator import methodcaller
result = sorted(spam, key=methodcaller('casefold'))
print(result)
['Alice', 'ants', 'badgers', 'Bob', 'Carol', 'cats']