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

yipeiwu_com6年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

python导包的几种方法(自定义包的生成以及导入详解)

python导包的几种方法(自定义包的生成以及导入详解)

python是一门灵活的语言,也可以说python是一门胶水语言,顾名思义,就是其可以导入各类的包,python的包可以说是所有语言中最多的。当然导入包大部分是为了更快捷,更方便,效率更...

Python 数据处理库 pandas 入门教程基本操作

Python 数据处理库 pandas 入门教程基本操作

pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。 pandas提供了快速,灵活和富有...

Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】

本文实例讲述了Python 网络编程之TCP客户端/服务端功能。分享给大家供大家参考,具体如下: demo.py(TCP客户端): import socket def main():...

python 杀死自身进程的实现方法

python 杀死自身进程的实现方法

有时候我们需要中断程序的执行,比如执行如下代码失败时。 import tensorflow as tf tf.enable_eager_execution() 这时我们可以杀...

使用python实现离散时间傅里叶变换的方法

使用python实现离散时间傅里叶变换的方法

我们经常使用傅里叶变换来计算数字信号的频谱,进而分析数字信号,离散时间傅里叶变换的公式为: 可是自己动手实现一遍才是最好的学习。 在数字分析里面,傅里叶变换默认等时间间隔采样,不需...