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

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’:…

大家好,又见面了,我是你们的朋友全栈君。

_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}]

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149275.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm2021linux 激活码【在线注册码/序列号/破解码】

    pycharm2021linux 激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    71
  • ubuntu下30天自制操作系统还在继续学习中

    ubuntu下30天自制操作系统还在继续学习中

    2021年12月1日
    39
  • 离线数仓和实时数仓架构与设计

    离线数仓和实时数仓架构与设计前言:离线数仓和实时数仓架构与设计讲解离线数仓和实时数仓架构与设计一、数仓架构演变(场景驱动)二、离线大数据架构三、离线数仓分层四、离线大数据架构典型案例1、Lambda架构1.Lambda架构2.Lambda架构进一步了解3.Lambda架构典型案例4.Lambda架构典型案例(有赞广告团,基于Druid)5.Lambda架构存在的问题2、Kappa架构1.Kappa架构典型案例2.Kappa架构典型案例(一Kylin为例)3.Kappa架构的重新处理过程3、Lambda架构vsKappa架构的对比

    2022年5月10日
    45
  • MySql修改表名的两种方法

    MySql修改表名的两种方法一、renamerenametable旧表名to新表名;renametablemysutonew_su;二、alteraltertable旧表名rename[as]新表名altertablemysurenameasnew_su;

    2022年6月1日
    2.2K
  • 关于jmeter客户端实现中HttpClient4与Java的区别

    关于jmeter客户端实现中HttpClient4与Java的区别如上图:jmeter客户端实现方式有三种,一种是java,一种是httpclient4,还有一种默认,我们来看一下java与httpclient4的区别:Java:选择压测时,链接是复用的(代码中的http调用都加了连接池)httpclient4:压测时,每请求一次都创建一个新的链接,(jmeter5.0以前默认关闭了连接复用,5.0上是打开的:即每请求一次都会创建一个新的链接)从JMeter5.0开始,当使用默认的HC4实现时,JMeter将在每个线程组迭代时重置HTTP状态(SS…

    2022年7月22日
    11
  • 通过pycharm安装python_pycharm编译器安装教程

    通过pycharm安装python_pycharm编译器安装教程python环境的安装与编译器的安装python下载网址python官网:https://www.python.org/python的安装我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown将代码片显示选择的高亮样式进行展示;增加了图片拖拽功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的Ka

    2022年8月25日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号