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

作者:Tangzongyu123 时间:2022-06-10 15:21:38 

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

来源:https://blog.csdn.net/Tangzongyu123/article/details/75200619

标签:Python,字典,list,排序
0
投稿

猜你喜欢

  • 通过python调用adb命令对App进行性能测试方式

    2023-10-05 06:24:25
  • Python采用Django制作简易的知乎日报API

    2023-10-07 13:02:34
  • Oracle数据库索引的维护

    2010-07-26 13:29:00
  • kafka-python批量发送数据的实例

    2023-04-24 04:40:23
  • 浅谈Python xlwings 读取Excel文件的正确姿势

    2021-10-15 23:33:36
  • Asp中如何快速分页的技巧

    2008-05-17 12:02:00
  • oracle远程连接服务器数据库图文教程

    2023-07-12 22:22:37
  • Python使用字典的嵌套功能详解

    2021-03-19 01:20:02
  • 微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动

    2023-11-14 14:01:31
  • 深入浅析Python代码规范性检测

    2023-08-23 21:16:55
  • 微信小程序利用Canvas绘制图片和竖排文字详解

    2023-08-20 02:35:43
  • Python学习笔记之读取文件、OS模块、异常处理、with as语法示例

    2023-03-20 21:54:58
  • 解决usageerror: line magic function "%%time" not found问题

    2022-06-16 15:53:29
  • Javascript与PHP验证用户输入URL地址是否正确

    2023-10-23 02:36:07
  • python time()的实例用法

    2022-01-09 02:33:02
  • AJAX快速入门之HTTP协议基础

    2008-01-16 19:04:00
  • Python正则表达式实现截取成对括号的方法

    2023-08-22 23:01:47
  • 浅谈Python编程中3个常用的数据结构和算法

    2022-02-11 20:15:04
  • win10从零安装配置pytorch全过程图文详解

    2022-07-01 20:54:55
  • 用户凭什么跟你注册?

    2011-06-10 13:16:00
  • asp之家 网络编程 m.aspxhome.com