1、list of dict数据结构说明:

 "trends": [{"name": "Rick Gates","promoted_content": null,"query": "%22Rick+Gates%22","tweet_volume": 135732,"url": "http://twitter.com/search?q=%22Rick+Gates%22"},{"name": "#TheBachelorette","promoted_content": null,"query": "%23TheBachelorette","tweet_volume": 91245,"url": "http://twitter.com/search?q=%23TheBachelorette"},{"name": "#KremlinAnnex","promoted_content": null,"query": "%23KremlinAnnex","tweet_volume": 42654,"url": "http://twitter.com/search?q=%23KremlinAnnex"}]

2、排序目标:

根据tweet_volume的数值对trends里的元素进行排序。

3、实现代码:

以下4种方式都可以,第4中性能更好

1)trends = sorted(trends,key = lambda e:e['tweet_volume'],reverse = True)
2)trends = sorted(trends,key = lambda e:e.get('tweet_volume'),reverse = True))
3)trends = sorted(trends,key = lambda e:e.__getitem__('tweet_volume'),reverse = True))
4)trends = sorted(trends,key = itemgetter('tweet_volume'),reverse = True)

说明:

  1. 我在dict中选择key的时候,选择的是e['tweet_volume']这样的索引方式,你也可以选择e.get('tweet_volume')或者e.__getitem__('tweet_volume')这样的方式去获取key的值
  2. 通过使用 operator 模块的 itemgetter 函数,可以非常容易的排序这样的数据结构,使用时需要from operator import itemgetter

4、sotred()函数原型:

sorted(iterable[,key][,reverse])

iterable:需要排序的变量(必填)

key:指定排序的元素

reverse:指定是否逆序,默认为false

具体可参考上篇文章:Dist类系列(一):根据字典的key值、value值进行排序

5、lambda:匿名函数,一般形式为

lambda arguments: expression

6、考虑到有些数据是NULL,因此需要提前做个处理:

对于空的tweet_volume设置为0,完整代码:

for item in trends:if(item['tweet_volume'] is None):item['tweet_volume'] = 0trends = sorted(trends,key = lambda e:e['tweet_volume'],reverse = True)

Python-按照list中dict的某个key进行排序相关推荐

  1. Python基础——字典中由value查key的几点说明

    众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句话说,字典dict是以空间换速度.详细请见如下示 ...

  2. python 替换array中的值_Python实现计数排序

    一.计数排序简介 计数排序(Counting Sort)是一种不比较数据大小的排序算法,是一种牺牲空间换取时间的排序算法.计数排序适合数据量大且数据范围小的数据排序,如对人的年龄进行排序,对考试成绩进 ...

  3. python 在列表中完成队列的删除和排序

    [任     务]有一个包含列表(行)的列表,现在想获得另一个列表,该列表包含相同的行,但是一些列被删除和重新排序了. [解决方案] 假设我们的列表是 listeg = [[0,1,2], [3,4, ...

  4. python对列表中的字典的字段进行排序

    对列表按ape的值进行排序 ls = [{'ape':3,'cso':'中国'},{'ape':5,'cso':'中国'},{'ape':1,'cso':'中国'}] def takeSecond(e ...

  5. python 去重 字典_python按照list中字典的某key去重的示例代码

    一.需求说明 当我们写爬虫的时候,经常会遇到json格式的数据,它通常是如下结构: data = [{'name':'小K','score':100}, {'name':'小J','score':98 ...

  6. python字典按照key排序_python中字典按key值排序的实现方法

    之前小编介绍了字典本身不可排序,但按值可以,小编也介绍了按value值排序的三种方法.sorted()函数可以对数字或字符串进行排序,按key排序只是输出的key值的排序列表,使用sorted()函数 ...

  7. python 按从小到大的顺序组合成一个字典_Python实现字典排序、按照list中字典的某个key排序的方法示例...

    本文实例讲述了python实现字典排序.按照list中字典的某个key排序的方法.分享给大家供大家参考,具体如下: 1.给字典按照value按照从大到小排序 排序 dict = {'a':21, 'b ...

  8. python字典的特点是什么_Python中dict的特点

    dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.而list的查找速度随着元素增加而逐渐下降. 不过dict的查找速度快不是没有代价的,dict的缺点是占用内 ...

  9. python中的set和dict_Python中dict和set的用法讲解

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

最新文章

  1. mysql中pi是什么意思,MySql delimiter的作用是什么
  2. Ruby中的多行注释?
  3. hibernate一级缓存和二级缓存的区别[转]
  4. Gdevops广州站:跟一众技术老将聊聊时下运维、数据库、金融科技应“云”而生的技术创新...
  5. 如何在 Ubuntu 14.04 和 12.04 上测试 systemd
  6. 从零开始学习Sencha Touch MVC应用之六
  7. Linux中的nc测试端口是否开放
  8. mysql opxe_PXE安装系统
  9. unity 调c++的dll
  10. atitit.html5动画特效----打水漂 ducks_and_drakes
  11. WF学习系列之四:顺序工作流控制台应用程序模板介绍
  12. STC系列单片机烧录
  13. Android下的默认字体详解
  14. 深度装机大师一键重装_手把手教你深度装机大师u盘装系统教程
  15. 腾讯御安全之AI反病毒引擎白皮书
  16. 休闲游戏:跑跑卡丁车在线玩!
  17. 2021 阿里巴巴和蚂蚁金服 Java实习生 面试经验贴(重要!!!)
  18. 从数据治理到数据应用,制造业企业如何突破数字化转型困境丨行业方案
  19. USB与串口的区别简要总结
  20. 数据清洗的几种常用手段

热门文章

  1. CapsLock魔改大法——变废为宝实现高效编辑
  2. SPOJ 375 query on a tree 树链剖分
  3. Loj#6434「PKUSC2018」主斗地(搜索)
  4. linux入门_韩顺平_复习版_文件目录类
  5. bzoj 2330: [SCOI2011]糖果
  6. HDU-3622 Bomb Game 2sat
  7. git 在 A 项目中引用 B 项目
  8. Expression Blend 定义RadioButton行为动画
  9. canvas做的图片查看器1
  10. ostu进行遥感图像的分割