Python实现字典排序、按照list中字典的某个key排序的方法示例

 更新时间:2018年12月18日 08:59:51   作者:Tangzongyu123  
这篇文章主要介绍了Python实现字典排序、按照list中字典的某个key排序的方法,涉及Python字典与列表排序相关操作技巧,需要的朋友可以参考下

本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下:

1.给字典按照value按照从大到小排序

排序

dict = {'a':21, 'b':5, 'c':3, 'd':54, 'e':74, 'f':0}
new_dict = sorted(dict.iteritems(), key=lambda d:d[1], reverse = True)
print new_dict

输出:

[('e', 74), ('d', 54), ('a', 21), ('b', 5), ('c', 3), ('f', 0)]

2. python按照list中的字典的某key排序:

例子:

s=[
{"no":28,"score":90},
{"no":25,"score":90},
{"no":1,"score":100},
{"no":2,"score":20},
]
print "original s: ",s
# 单级排序,仅按照score排序
new_s = sorted(s,key = lambda e:e.__getitem__('score'))
print "new s: ", new_s
# 多级排序,先按照score,再按照no排序
new_s_2 = sorted(new_s,key = lambda e:(e.__getitem__('score'),e.__getitem__('no')))
print "new_s_2: ", new_s_2

输出:

original s:  [{'score': 90, 'no': 28}, {'score': 90, 'no': 25}, {'score': 100, 'no': 1}, {'score': 20, 'no': 2}]
new s:  [{'score': 20, 'no': 2}, {'score': 90, 'no': 28}, {'score': 90, 'no': 25}, {'score': 100, 'no': 1}]
new_s_2:  [{'score': 20, 'no': 2}, {'score': 90, 'no': 25}, {'score': 90, 'no': 28}, {'score': 100, 'no': 1}]

说明

1.new_s和new_s2的区别在于当score均为90的时候,重新按照no排序

2.顺序为从小到大,若在sorted函数的参数加上reverse = True则为从大到小

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

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

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

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

相关文章

  • Python类的用法实例浅析

    Python类的用法实例浅析

    这篇文章主要介绍了Python类的用法,以实例形式简单分析了Python中类的定义、构造函数及使用技巧,需要的朋友可以参考下
    2015-05-05
  • python查询文件夹下excel的sheet名代码实例

    python查询文件夹下excel的sheet名代码实例

    这篇文章主要介绍了python查询文件夹下excel的sheet名方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Pyinstaller打包工具的使用以及避坑

    Pyinstaller打包工具的使用以及避坑

    本文主要的是pyinstaller在windows下的基本使用和基础避坑,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Jupyter Notebook界面汉化完整步骤

    Jupyter Notebook界面汉化完整步骤

    这篇文章主要给大家介绍了关于Jupyter Notebook界面汉化的相关资料,设置成中文界面后非常利于操作,文中介绍的方法非常简单,需要的朋友可以参考下
    2023-09-09
  • Python 实现随机数详解及实例代码

    Python 实现随机数详解及实例代码

    这篇文章主要介绍了Python 实现随机数详解及实例代码的相关资料,需要的朋友可以参考下
    2017-04-04
  • Python替换月份为英文缩写的实现方法

    Python替换月份为英文缩写的实现方法

    今天小编就为大家分享一篇Python替换月份为英文缩写的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python实现简单过滤文本段的方法

    Python实现简单过滤文本段的方法

    这篇文章主要介绍了Python实现简单过滤文本段的方法,涉及Python针对文本的读取及字符串遍历、判断、打印等相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • python 动态加载的实现方法

    python 动态加载的实现方法

    脚本语言都有一个优点,就是动态加载,python也有这个特性。这篇文章主要介绍了python 动态加载的实现方法,需要的朋友可以参考下
    2017-12-12
  • selenium中常见的表单元素操作方法总结

    selenium中常见的表单元素操作方法总结

    Selenium可以驱动浏览器来执行一些操作,也就是说可以让浏览器模拟执行一些动作,下面这篇文章主要给大家介绍了关于selenium中常见的表单元素操作方法,需要的朋友可以参考下
    2022-02-02
  • python将MongoDB里的ObjectId转换为时间戳的方法

    python将MongoDB里的ObjectId转换为时间戳的方法

    这篇文章主要介绍了python将MongoDB里的ObjectId转换为时间戳的方法,涉及Python操作MongoDB及字符串转换的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03

最新评论