python - 按单词和单词中的字符对单词列表进行排序
问题描述
在不使用 .sort()
or的情况sorted()
下,我想通过将每个字符转换为数字、对单词中的字符进行排序,然后对单词进行排序来对列表中的每个单词进行排序。我觉得我已经尝试了这里的一切。我知道我需要将它们转换为小写,然后使用ord(letter) - 96
to 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
解决方案
你应该这样做:
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']
推荐阅读
- php - 无法从 Intranet 读取图像,php 导出到 word
- java - sonarqube 6.7.2 构建失败 Java 并且无法在报告中存储文件源
- android - 在 DownloadManager DOWNLOAD_COMPLETE 广播接收器上接收广播 Intent 时出错
- vba - VBA Excel,比较单元格中的字符串
- hibernate - .save() 没有保存列表中给出的所有详细信息
- javascript - 使用js显示div中的元素列表
- sql - SQL - 需要在同一张表中为客户打印相同数量的记录和相同的产品
- javascript - viewer.js 在 IE 11 中的选项卡切换处触发 addEventListener 调整大小,导致错误和崩溃
- html - sp_notify_operator 的 T-SQL Server 代理格式化消息
- selenium - 在 Selenium 中处理 Windows 打开文件对话框