python分组排序_Python 排序分组问题

_list = [{'value': 123, 'upclock': 1234567},

{'value': 423, 'upclock': 2123},

{'value': 123, 'upclock': 1234567},

{'value': 423, 'upclock': 1123},

{'value': 423, 'upclock': 1123},

{'value': 872, 'upclock': 1234567},

{'value': 423, 'upclock': 80}]

print sorted(_list, key=lambda x: (x['value'], x['upclock']), reverse=True)

结果

[{'upclock': 1234567, 'value': 123},

{'upclock': 1234567, 'value': 123},

{'upclock': 80, 'value': 423},

{'upclock': 1123, 'value': 423},

{'upclock': 1123, 'value': 423},

{'upclock': 2123, 'value': 423},

{'upclock': 1234567, 'value': 872}]

上面是一个很简单的例子,先按照value来排序,再按照upclock排序。 有个字段reverse控制是否升降序的,但是这个控制的是整体的。我想要这样的效果,就是默认是升序,但是第二个排序字段upclock又是降序的

结果应该是这样

[{'upclock': 1234567, 'value': 123},

{'upclock': 1234567, 'value': 123},

{'upclock': 2123, 'value': 423},

{'upclock': 1123, 'value': 423},

{'upclock': 1123, 'value': 423},

{'upclock': 80, 'value': 423},

{'upclock': 1234567, 'value': 872}]

应该怎么写呢?能直接用标准库来实现吗,或者简单一点的逻辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值