Python-按照list中dict的某个key进行排序
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)
说明:
- 我在dict中选择key的时候,选择的是e['tweet_volume']这样的索引方式,你也可以选择e.get('tweet_volume')或者e.__getitem__('tweet_volume')这样的方式去获取key的值
- 通过使用
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进行排序相关推荐
- Python基础——字典中由value查key的几点说明
众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句话说,字典dict是以空间换速度.详细请见如下示 ...
- python 替换array中的值_Python实现计数排序
一.计数排序简介 计数排序(Counting Sort)是一种不比较数据大小的排序算法,是一种牺牲空间换取时间的排序算法.计数排序适合数据量大且数据范围小的数据排序,如对人的年龄进行排序,对考试成绩进 ...
- python 在列表中完成队列的删除和排序
[任 务]有一个包含列表(行)的列表,现在想获得另一个列表,该列表包含相同的行,但是一些列被删除和重新排序了. [解决方案] 假设我们的列表是 listeg = [[0,1,2], [3,4, ...
- python对列表中的字典的字段进行排序
对列表按ape的值进行排序 ls = [{'ape':3,'cso':'中国'},{'ape':5,'cso':'中国'},{'ape':1,'cso':'中国'}] def takeSecond(e ...
- python 去重 字典_python按照list中字典的某key去重的示例代码
一.需求说明 当我们写爬虫的时候,经常会遇到json格式的数据,它通常是如下结构: data = [{'name':'小K','score':100}, {'name':'小J','score':98 ...
- python字典按照key排序_python中字典按key值排序的实现方法
之前小编介绍了字典本身不可排序,但按值可以,小编也介绍了按value值排序的三种方法.sorted()函数可以对数字或字符串进行排序,按key排序只是输出的key值的排序列表,使用sorted()函数 ...
- python 按从小到大的顺序组合成一个字典_Python实现字典排序、按照list中字典的某个key排序的方法示例...
本文实例讲述了python实现字典排序.按照list中字典的某个key排序的方法.分享给大家供大家参考,具体如下: 1.给字典按照value按照从大到小排序 排序 dict = {'a':21, 'b ...
- python字典的特点是什么_Python中dict的特点
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.而list的查找速度随着元素增加而逐渐下降. 不过dict的查找速度快不是没有代价的,dict的缺点是占用内 ...
- python中的set和dict_Python中dict和set的用法讲解
dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...
最新文章
- mysql中pi是什么意思,MySql delimiter的作用是什么
- Ruby中的多行注释?
- hibernate一级缓存和二级缓存的区别[转]
- Gdevops广州站:跟一众技术老将聊聊时下运维、数据库、金融科技应“云”而生的技术创新...
- 如何在 Ubuntu 14.04 和 12.04 上测试 systemd
- 从零开始学习Sencha Touch MVC应用之六
- Linux中的nc测试端口是否开放
- mysql opxe_PXE安装系统
- unity 调c++的dll
- atitit.html5动画特效----打水漂 ducks_and_drakes
- WF学习系列之四:顺序工作流控制台应用程序模板介绍
- STC系列单片机烧录
- Android下的默认字体详解
- 深度装机大师一键重装_手把手教你深度装机大师u盘装系统教程
- 腾讯御安全之AI反病毒引擎白皮书
- 休闲游戏:跑跑卡丁车在线玩!
- 2021 阿里巴巴和蚂蚁金服 Java实习生 面试经验贴(重要!!!)
- 从数据治理到数据应用,制造业企业如何突破数字化转型困境丨行业方案
- USB与串口的区别简要总结
- 数据清洗的几种常用手段