python-3.x - 如何排序以便以数字开头的字符串作为第一个字符移动到列表的末尾
问题描述
我有一个问题,我无法找到一种方法来对字符串列表进行排序,使得以数字开头的值最后排序,而以字母开头的值位于列表的开头
我尝试过使用lambdasort
和sorted
方法,但它总是在列表的开头使用数字排序。
这是我尝试过的
if __name__ == "__main__":
l = ["9 1 7 2", "hell bag", "8 7", "deserve respect three", "phone exit retired"]
print(sorted(l))
这给了我以下输出,
['8 7', '9 1 7 2', 'deserve respect three', 'hell bag', 'phone exit retired']
我想要以下输出,
['deserve respect three', 'hell bag', 'phone exit retired', '8 7', '9 1 7 2']
解决方案
您可以使用reversed()
方法来获取目标结果,如下所示:
print(list(reversed(sorted(l))))
输出是:
['phone exit retired', 'hell bag', 'deserve respect three', '9 1 7 2', '8 7']
推荐阅读
- sql-server - 更改 Visual Studio 数据库项目的发布脚本的编码
- sql-server - 无法将 MS Access 前端连接到 SQL Server 后端
- azure - 如何通过 powershell 脚本或任何其他自动化方式在集成帐户中上传流动文件?
- ssis - SSIS 包将在用 vb 编写的脚本任务中的断点处停止,但在 c# 中不对应
- node.js - 如何使用从 SPA 获得的 azure 广告访问令牌来保护后端 api?
- php - 在当前数组中插入不同的数组值作为键?
- html - 如何阻止视频源的纵横比改变(WebRTC)
- powershell - 返回 O365 团队会议组织者
- command-line - 如何通过命令行启动“Windows Terminal”?
- python-3.x - 如何通过 beautifulSoup 获取类属性?