python - 如何使用 2 个参考对包含列表的列表进行排序
问题描述
我有一个这样的清单
[[2, 1], [0, 3], [1, 2], [2, 5], [1, 4]]
所以我想根据第一个元素对这个列表进行排序,但是如果 2 个项目的第一个元素相等,则根据第二个元素排序,我想以相反的顺序(递减顺序)
我用这个
arr.sort(key=lambda x: x[0], reverse=True)
但它的结果是
[[2, 1], [2, 5], [1, 2], [1, 4], [0, 3]]
我想要这样的结果
[[2, 5], [2, 1], [1, 4], [1, 2], [0, 3]]
解决方案
你可以这样做:
a = [[2, 1], [0, 3], [1, 2], [2, 5], [1, 4]]
a.sort(key= lambda x:x[0])
a.reverse()
print(a)
reverse=True
在.sort()
反向列表中,但具有相同值的项目未排序。
或更简单
a = sorted(a, key=lambda x: (x[0],x[1]), reverse=True)
推荐阅读
- python - 在电报机器人中发送一些照片时出现内存错误
- amp-html - AMP - 具有可变月数的日期选择器
- python - 如何通过 python 中的 pandas 更改 CSV 文件中的索引?
- reactjs - React-admin SelectInput 与选择一起使用时不显示编辑中的值
- nginx - 利用浏览器缓存 OctoberCMS + NGINX
- hive - Hive - 如果在另一个表中找不到它们,则使用今天的日期更新表中的记录?
- amazon-s3 - 将 Serilog 日志写入 Amazon S3 的推荐方法是什么?
- typescript - 具有静态方法的类与导出的函数打字稿
- nlp - 潜在狄利克雷分配的时间复杂度
- python - Tensorflow 预测错误,invalidArgumentError:断言失败:[无法将字节解码为 JPEG、PNG、GIF 或 BMP]