按字典顺序对字符串排序

Wiz*_*ard 0 python sorting list lexicographic

我想按字典顺序打印这些单词。我以为这样sorted()排列单词。我也尝试过.sort()返回相同的顺序。还是我缺少按词典顺序排序的东西?

码:

a_list = ['Zrhregegrydb', 'cygzRFWDWBdvF']
for word in sorted(a_list):
    print(word)
Run Code Online (Sandbox Code Playgroud)

输出:

# Zrhregegrydb
# cygzRFWDWBdvF
Run Code Online (Sandbox Code Playgroud)

所需输出:

# cygzRFWDWBdvF
# Zrhregegrydb
Run Code Online (Sandbox Code Playgroud)

Cod*_*ice 5

默认情况下,python已经按照字典顺序对字符串进行排序,但是大写字母都排在小写字母之前。如果你想对字符串进行排序并忽略大小写,那么你可以这样做

b_list = sorted(a_list, key=str.lower)
Run Code Online (Sandbox Code Playgroud)


小智 5

这是因为大写字母的ASCII值小于小写字母。如果想让排序忽略大小写,可以执行以下操作:

for word in sorted(a_list, key=str.lower):
Run Code Online (Sandbox Code Playgroud)