首页 > 解决方案 > 按单词和单词中的字符对单词列表进行排序

问题描述

在不使用 .sort()or的情况sorted()下,我想通过将每个字符转换为数字、对单词中的字符进行排序,然后对单词进行排序来对列表中的每个单词进行排序。我觉得我已经尝试了这里的一切。我知道我需要将它们转换为小写,然后使用ord(letter) - 96to get 3, 26261, 122, 211, 134, 2, 31, 22626, 218, 912,然后对每个“组”进行排序,然后将每个组转换回字符串。

输入:c zzA aBb bAa Acd B CA zzz ZR IL
输出:abb acd b baa c ca il zr zza zzz

标签: pythonpython-3.xlist-comprehension

解决方案


你应该这样做:

a = ["c", "zzA", "aBb", "bAa", "Acd", "B", "CA", "zzz", "ZR", "I"]
b = sorted([i.lower() for i in a])

print(b)
# ['abb', 'acd', 'b', 'baa', 'c', 'ca', 'i', 'zr', 'zza', 'zzz']

推荐阅读