Python使用lambda表达式对字典排序操作示例

 更新时间:2019年07月25日 09:37:07   作者:zhandawang  
这篇文章主要介绍了Python使用lambda表达式对字典排序操作,结合实例形式分析了lambda表达式实现字典按键排序、按值排序、多条件排序相关操作技巧,需要的朋友可以参考下

本文实例讲述了Python使用lambda表达式对字典排序操作。分享给大家供大家参考,具体如下:

lambda表达式也常用于字典排序,既然写到字典排序,那就把按键排序和按值排序都写写好了。

字典按键排序

显然按键排序,需要用字典中每个元素的第一项排序

dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:item[0])
sorted_dict_dsc = sorted(dict.items(),key=lambda item:item[0],reverse=True)

输出(第一个升序,第二个降序):

[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 3), ('f', 1), ('g', 7)]
[('g', 7), ('f', 1), ('e', 3), ('d', 4), ('c', 3), ('b', 2), ('a', 1)]]

字典按值排序

需要使用字典中每个元素的第二项进行排序

dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:item[1])
sorted_dict_dsc = sorted(dict.items(),key=lambda item:item[1],reverse=True)

输出

[('f', 1), ('a', 1), ('b', 2), ('e', 3), ('c', 3), ('d', 4), ('g', 7)]
[('g', 7), ('d', 4), ('e', 3), ('c', 3), ('b', 2), ('f', 1), ('a', 1)]

字典的多条件排序

如上例子,我们想将字典按值排序,当值相等时我们按键排序,那么就是多条件排序。

dict = {'f':1,'b':2,'c':3,'d':4,'e':3,'a':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:(item[1],item[0]))
sorted_dict_dsc = sorted(dict.items(),key=lambda item:(item[1],item[0]),reverse=True)

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Keras 实现加载预训练模型并冻结网络的层

    Keras 实现加载预训练模型并冻结网络的层

    这篇文章主要介绍了Keras 实现加载预训练模型并冻结网络的层,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python实现视频转换为字符画详解

    Python实现视频转换为字符画详解

    这篇文章主要介绍了如何通过Python实现读取视频并将其转换为字符画的示例代码,文中讲解详细,对我们的学习和工作有一点的价值,感兴趣的小伙伴可以了解一下
    2021-12-12
  • 教你使用Pandas直接核算Excel中的快递费用

    教你使用Pandas直接核算Excel中的快递费用

    文中仔细说明了怎么根据账单核算运费.首先要确定运费规则,然后根据运费规则编写代码,生成核算列(快递费 = 省份*重量),最后输入账单,进行核算.将脚本件生成EXE文件,就可以使用啦,需要的朋友可以参考下
    2021-05-05
  • Python解析json文件相关知识学习

    Python解析json文件相关知识学习

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。接下来通过本文给大家介绍python解析json文件相关知识,对python解析json文件相关知识感兴趣的朋友一起学习吧
    2016-03-03
  • 解析django的csrf跨站请求伪造

    解析django的csrf跨站请求伪造

    本文主要介绍了解析django的csrf跨站请求伪造,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 基于Python和TFIDF实现提取文本中的关键词

    基于Python和TFIDF实现提取文本中的关键词

    TFIDF 的工作原理是按比例增加一个词语在文档中出现的次数,但会被它所在的文档数量抵消。本文将利用TFIDF实现提取文本中的关键词,感兴趣的小伙伴快跟随小编一起学习一下吧
    2022-04-04
  • 跟老齐学Python之模块的加载

    跟老齐学Python之模块的加载

    这篇文章主要介绍了跟老齐学Python之模块的加载,需要的朋友可以参考下
    2014-10-10
  • Python3.5运算符操作实例详解

    Python3.5运算符操作实例详解

    这篇文章主要介绍了Python3.5运算符操作,结合实例形式详细分析了Python3.5各种运算符与常见使用技巧,需要的朋友可以参考下
    2019-04-04
  • Python深入学习之上下文管理器

    Python深入学习之上下文管理器

    这篇文章主要介绍了Python深入学习之上下文管理器,上下文管理器是在Python2.5加入的功能,它能够让你的代码可读性更强并且错误更少,和C#中的using语句类似,需要的朋友可以参考下
    2014-08-08
  • python神经网络学习使用Keras进行简单分类

    python神经网络学习使用Keras进行简单分类

    这篇文章主要为大家介绍了python神经网络学习使用Keras进行简单分类,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论