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代码去掉文本中的各种符号的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python装饰器实现函数运行时间的计算

    Python装饰器实现函数运行时间的计算

    这篇文章主要为大家详细介绍了Python函数运行时间的计算,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • 在PyTorch中实现高效的多进程并行处理

    在PyTorch中实现高效的多进程并行处理

    PyTorch是一个流行的深度学习框架,一般情况下使用单个GPU进行计算时是十分方便的,但是当涉及到处理大规模数据和并行处理时,需要利用多个GPU,所以这篇文章我们将介绍如何利用torch.multiprocessing模块,在PyTorch中实现高效的多进程处理,需要的朋友可以参考下
    2024-07-07
  • Python基于scipy实现信号滤波功能

    Python基于scipy实现信号滤波功能

    本文将以实战的形式基于scipy模块使用Python实现简单滤波处理。这篇文章主要介绍了Python基于scipy实现信号滤波功能,需要的朋友可以参考下
    2019-05-05
  • Python中高效的json对比库deepdiff详解

    Python中高效的json对比库deepdiff详解

    deepdiff模块常用来校验两个对象是否一致,包含3个常用类,DeepDiff,DeepSearch和DeepHash,其中DeepDiff最常用,可以对字典,可迭代对象,字符串等进行对比,使用递归地查找所有差异,今天我们就学习一下快速实现代码和文件对比的库–deepdiff
    2022-07-07
  • Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

    Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

    这篇文章主要介绍了Python基于聚类算法实现密度聚类(DBSCAN)计算,结合实例形式分析了聚类算法的相关概念、原理及使用聚类算法进行密度聚类计算的相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • Python实现感知机(PLA)算法

    Python实现感知机(PLA)算法

    这篇文章主要为大家详细介绍了Python实现感知机(PLA)算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Python实现破解网站登录密码(带token验证)

    Python实现破解网站登录密码(带token验证)

    这篇文章主要为大家介绍一个Python暴力破解网站登录密码脚本(带token验证),文中的过程讲解详细,对我们学习Python有一定的帮助,感兴趣的可以学习一下
    2022-02-02
  • Python3.9新特性详解

    Python3.9新特性详解

    这篇文章主要介绍了Python3.9新特性详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 使用PyQt4 设置TextEdit背景的方法

    使用PyQt4 设置TextEdit背景的方法

    今天小编就为大家分享一篇使用PyQt4 设置TextEdit背景的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论