为了账号安全,请及时绑定邮箱和手机立即绑定

在python中对嵌套列表进行排序

在python中对嵌套列表进行排序

天涯尽头无女友 2021-06-17 18:12:04
我有一个嵌套列表list_a = [['1 order', 15, 3 ],['1 order', 29, 2],['1 order', 5, 1],['2 order', 2, 3],['2 order', 1, 2],['2 order', 17, 1],['3 order', 2, 3],['3 order', 10, 2],['3 order', 1, 1]]对第二个元素应用排序后sort_by_second_attribute = sorted(list_a, key = lambda k : k[1])输出是[['2 order', 1, 2],['3 order', 1, 1],['2 order', 2, 3],['3 order', 2, 3],['1 order', 5, 1],['3 order', 10, 2],['1 order', 15, 3],['2 order', 17, 1],['1 order', 29, 2]] 但是,我想保持第一个属性的排序顺序,然后对第二个属性进行排序。我想要的输出是[['1 order', 5, 3],['1 order', 15, 2],['1 order', 29, 1],['2 order', 1, 3],['2 order', 2, 2],['2 order', 17, 1],['3 order', 1, 3],['3 order', 2, 2],['3 order', 10, 1]] 
查看完整描述

3 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

sort_by_second_attribute = sorted(list_a, key = lambda k : (k[0], k[1]))

但理想情况下,不要将数据存储在列表中,而是为其创建适当的对象。因为从您的代码中完全不清楚 index=1 或 index=2 是什么意思,所以这些索引下存储了哪些数据。


查看完整回答
反对 回复 2021-06-22
  • 3 回答
  • 0 关注
  • 1018 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号