python - 如何按浮动子列表的项目对列表列表进行排序
问题描述
我正在尝试按浮动的 1 个项目对列表列表进行排序。问题是,使用 sort(list, itemgetter(n)) 将浮点数排序为字符串,并且输出不是我所期望的。
list1 = [('1','1',"9999"),('1','1',"9998"),('1','1',"9998.777"),('1','1',"9995111"),('1','1',"110000")]
list2 = sorted(list2, key=itemgetter(2))
print(list2)
实际结果 :
[('1', '1', '110000'), ('1', '1', '9995111'), ('1', '1', '9998'), ('1', '1', '9998.777'), ('1', '1', '9999')]
预期结果 :
[('1', '1', '9998'), ('1', '1', '9998.777'), ('1', '1', '9999'),('1', '1', '110000'),('1', '1', '9995111')]
解决方案
它将它们排序为字符串,因为它们是字符串。原样itemgetter
返回。x[2]
你想要的是一个接受 ax 并返回的函数float(x[2])
。所以,只需使用key= lambda x: float(x[2])
推荐阅读
- game-development - 游戏开发及相关问题
- c - 套接字代码仅适用于 16 字节缓冲区
- mqtt - 有没有办法确定订阅了哪些 MQTT 主题?
- php - ajax可以转换成php curl吗?
- angular - 登录后,使用 angular-oauth2-oidc 时 hasValidAccessToken 始终为 true
- firebase - Firestore 安全规则:密钥上的正则表达式
- c# - 运行视图但不调用控制器 .NET 中的方法
- reactjs - React js:map返回的元素不渲染
- ios - SwiftUI AVCapturePhotoOutput 不起作用
- swift - UIImageView Array ForEach 迭代循环问题