位置: IT常识 - 正文

在Python中字典按值排序的实现方法(python字典按要求)

编辑:rootadmin
这篇文章主要介绍了在Python中字典按值排序的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

推荐整理分享在Python中字典按值排序的实现方法(python字典按要求),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中字典按照value排序,python中字典按键排序,python中字典的操作方法,python中字典按值排序,python中字典按键的降序,python中字典按键或键值排序,python中字典按值排序,python中字典按键或键值排序,内容如对您有帮助,希望把文章链接给更多的朋友!

在Python中字典按值排序的实现方法(python字典按要求)

一、sorted高阶函数这种方法更为简洁,更为推荐。

d={'a':1,'c':3,'b':2} # 首先建一个字典d#d.items()返回的是: dict_items([('a', 1), ('c', 3), ('b', 2)])d_order=sorted(d.items(),key=lambda x:x[1],reverse=False) # 按字典集合中,每一个元组的第二个元素排列。 # x相当于字典集合中遍历出来的一个元组。print(d_order) # 得到: [('a', 1), ('b', 2), ('c', 3)]

下面是sorted排序方法的详细解释:1. sorted高阶函数语法格式:  sorted(可迭代对象,key=函数名,reverse=False/True)作用:从可迭代对象中,依次取出一个元素,该元素再按照key规定的排列依据排序。可迭代对象:即可依次取值的对象,例如:集合,序列(列表,字符串,元组),字典等。key : 是列表排列的依据,一般可以自定义一个函数返回排序的依据,再把函数名绑定给key。reverse : 译为反转,reverse默认等于False,从小到大排序。等于True时,从大到小排序。2. 匿名函数lambda的格式:    函数名 = lambda  [形参1,形参2,...] :  ,返回操作语句块产生的结果并绑定给函数名。例如: key=lambda x : x[1]      x:相当于字典集合中的一个元组, 例:dict_items([('a', 1), ('c', 3), ('b', 2)])中的('a', 1)或('c', 3)或('b', 2)x[1]: 返回x中的第二个元素,即键值对元组中的值。dict_items([('a', 1), ('c', 3), ('b', 2)])中的1或2或3注意:(1) sorted函数中的可迭代对象不要用字典d,那样只能迭代出的字典d的键。要用d.items()才可迭代出字典的键值对。例:不能用 d_order=sorted(d,key=lambda x:x[1],reverse=False)要用 d_order=sorted(d.items(),key=lambda x:x[1],reverse=False)(2) sorted函数排好序后,要绑定一个对象(赋值),例:d_order=sorted(d.items(),key=lambda x:x[1],reverse=False).因为字典是无序类型,用sorted函数排好序后不绑定d_order,字典会自动打乱顺序。二、列表的.sort()方法Python中的字典是无序类型,没有自己的排序方法。但可以用列表的.sort()方法来进行排序。我们首先要把字典转换为列表,再进行排序。例子:

d={'a':1,'c':3,'b':2} # 首先建一个字典dd.items() # 得到: dict_items([('a', 1), ('c', 3), ('b', 2)])L=list(d.items()) # 得到列表: L=[('a', 1), ('c', 3), ('b', 2)]L.sort(key=lambda x:x[1],reverse=False) # 按列表中,每一个元组的第二个元素从小到大排序。 # x代表从L中遍历出的一个元组print(L) # 得到: [('a', 1), ('b', 2), ('c', 3)]

注意:1.上面的例子中最要的一步就是:  L=list(d.items()),  即: L = list(dict_items([('a', 1), ('c', 3), ('b', 2)])用list()列表构造函数,将L= dict_items([('a', 1), ('c', 3), ('b', 2)]) 转变为列表,得到列表:  L=[('a', 1), ('c', 3), ('b', 2)] 。ps: 今天早上我折腾了好久才发现,list()构造函数竟然可以把 d.items()产生的dict_items键值对集合类型,直接变成列表,简直NB啊!2.再简单说一下列表的L.sort()方法:  L.sort(key=函数名,reverse=False/True)L.sort():会自动遍历列表中的元素,即依次取出一个元素。再以key绑定的函数为依据排序。例如: L.sort(key=lambda x:x[1],reverse=False)       #L=[('a', 1), ('c', 3), ('b', 2)]从列表L中取出第一个元素('a', 1)元组,以元组的第二个元素'1'为排序依据,再依次从列表中依次取出第二,第三,...个元素确定排序依据,最后reverse=False,按从小到大的顺序排列。注: L.sort()内部还有其他参数,感兴趣的小伙伴可以用度娘搜一下。三、扩展:其实小c君是在用jieba库进行文本词频统计时,才遇到了给字典排序的这个问题。小伙伴们感兴趣的话可以看一下下面的代码,也可以自己找个文本试一下,非常有趣。

import jiebawith open("天龙八部-网络版.txt",'r',encoding='utf-8') as f: txt=f.read() words=jieba.lcut(txt) d={} for word in words: d[word]=d.get(word,0)+1 del d[' '] del d['\n']with open("天龙八部-词语统计.txt",'w',encoding='utf-8') as f2: d=sorted(d.items(),key=lambda x:x[1],reverse=True) for x,y in d: f2.write("{}:{}\n".format(x,y))

注:还可以优化代码,进行文本降噪。四、后记:今天折腾了一天,终于把字典排序的问题解决了。

本文链接地址:https://www.jiuchutong.com/zhishi/310396.html 转载请保留说明!

上一篇:Python中fock()函数如何使用(python中fork函数)

下一篇:vue3+ts+Vuex中使用websocket协议方式(vuex 3)

  • 苹果手机镜像怎么横屏(苹果手机镜像怎么用不了)

    苹果手机镜像怎么横屏(苹果手机镜像怎么用不了)

  • 荣耀畅玩7c怎么录屏(荣耀畅玩7c怎么破解激活锁)

    荣耀畅玩7c怎么录屏(荣耀畅玩7c怎么破解激活锁)

  • qq暗恋空间别人能看见吗(qq暗恋空间互相暗恋会怎么样)

    qq暗恋空间别人能看见吗(qq暗恋空间互相暗恋会怎么样)

  • jsm-aloo是什么系统(jsn—al00是什么型号)

    jsm-aloo是什么系统(jsn—al00是什么型号)

  • vivoy55a怎么截屏(vivoy55怎样截屏)

    vivoy55a怎么截屏(vivoy55怎样截屏)

  • 笔记本cpu温度70正常吗(笔记本cpu温度70度正常吗)

    笔记本cpu温度70正常吗(笔记本cpu温度70度正常吗)

  • 手机屏幕红斑怎么消除(手机屏幕红斑怎么去除)

    手机屏幕红斑怎么消除(手机屏幕红斑怎么去除)

  • qq群文件可以查看是谁下载了吗(qq群文件查看访问记录)

    qq群文件可以查看是谁下载了吗(qq群文件查看访问记录)

  • hdmi输出老是闪断信号(hdmi线出现闪屏怎么办)

    hdmi输出老是闪断信号(hdmi线出现闪屏怎么办)

  • 微信你把对方删了再加他对方有显示吗(微信你把对方删了怎么知道对方删没删你)

    微信你把对方删了再加他对方有显示吗(微信你把对方删了怎么知道对方删没删你)

  • 为什么平板下不了微信(为什么平板下不了软件)

    为什么平板下不了微信(为什么平板下不了软件)

  • 演唱会买两张票是连坐吗(演唱会买两张票会只抢到一张吗)

    演唱会买两张票是连坐吗(演唱会买两张票会只抢到一张吗)

  • html超链接去下划线(html超链接底下横怎么去掉)

    html超链接去下划线(html超链接底下横怎么去掉)

  • 荣耀20pro怎么看后台(荣耀20pro怎么看电池健康)

    荣耀20pro怎么看后台(荣耀20pro怎么看电池健康)

  • 小米cc9什么时候更新miui11(小米cc9什么时候发布的)

    小米cc9什么时候更新miui11(小米cc9什么时候发布的)

  • 天猫和淘宝是一家吗(天猫和淘宝是一个账号吗)

    天猫和淘宝是一家吗(天猫和淘宝是一个账号吗)

  • qq漂流瓶不能用了吗(qq漂流瓶还能用吗)

    qq漂流瓶不能用了吗(qq漂流瓶还能用吗)

  • 蓝牙传的歌曲在手机哪(蓝牙传输的歌曲在哪个文件夹)

    蓝牙传的歌曲在手机哪(蓝牙传输的歌曲在哪个文件夹)

  • 知道抖音号怎么查电话(知道抖音号怎么找回抖音账号)

    知道抖音号怎么查电话(知道抖音号怎么找回抖音账号)

  • 扫一扫怎么改成前置(扫一扫直接变成文字)

    扫一扫怎么改成前置(扫一扫直接变成文字)

  • jkm al00a是什么型号(jkm-al00是什么型)

    jkm al00a是什么型号(jkm-al00是什么型)

  • 万利达音响蓝牙键在哪(万利达音响蓝牙搜不到)

    万利达音响蓝牙键在哪(万利达音响蓝牙搜不到)

  • 鸿蒙系统怎样开启游戏助手?鸿蒙系统开启游戏助手教程(鸿蒙系统怎样开启5G)

    鸿蒙系统怎样开启游戏助手?鸿蒙系统开启游戏助手教程(鸿蒙系统怎样开启5G)

  • 猿创征文|【C++游戏引擎Easy2D】学C++还不会绘制一个简单的二维图形?一篇文章教会你(北京猿创源科技有限公司)

    猿创征文|【C++游戏引擎Easy2D】学C++还不会绘制一个简单的二维图形?一篇文章教会你(北京猿创源科技有限公司)

  • Spring AOP 切面增强(springboot aop切面)

    Spring AOP 切面增强(springboot aop切面)

  • 增值税小规模纳税人购进货物支付的增值税直接计入
  • 资产负债表季报本月数怎么填
  • 个体户4年不注销的后果消
  • 什么情况下可以要求员工待岗
  • 软件开发成本核算模板
  • 向职工支付职工福利费
  • 自行建造固定资产中的自营工程,在领用工程物资
  • 农产品销售发票可以抵扣吗?
  • 股权投资损失账务处理
  • 低值易耗品定义出处
  • 境外劳务输出有哪些类型
  • 销售自产自销的产品要交税吗?
  • 企业开办费用的预算
  • 固定资产对外投资的税务处理
  • 孵化器虚拟地址多少钱一个啊
  • 租金返还方式销售
  • 事业基金弥补收支差额
  • 企业长期股权投资
  • 个人社保缴费允许多少年
  • 税金及附加期末结转分录
  • 分期收款计提销项税怎么算
  • 独立核算的分公司可以享受小微企业吗
  • 如何在Windows 11上卸载更新
  • 没有收入业务招待费要全额调增吗
  • 应收账款平均余额怎么理解
  • 企业发生的亏损不一定会导致所有者权益减少
  • 预提税和企业所得税
  • 收到的进项发票要在多久前认证
  • 购买现金支票的工本费计入什么科目
  • wifi网速太慢了怎么回事
  • adsl灯一直闪烁
  • 费用已付款跨年怎么做账
  • 支付拍卖成交金额是多少
  • 添加VPN时提示已存在
  • 职工福利费会计科目走管理费用
  • 我整理的邪恶铭刻所有卡牌及自制卡
  • 公司注销职工怎么办理
  • 酒店损益类科目包括哪些
  • 佛罗里达naples
  • 前端常见错误
  • 公章的法律效力范围
  • 车间一般耗材计入
  • uniapp 手写识别
  • 会计上弥补亏损
  • 需要计提坏账准备吗
  • mysql动态表单设计与实现
  • 博客首页设计
  • 新公司筹建期要做账吗
  • 老板出差司机住哪
  • 哪些费用计入管理费用
  • 办公室装修费多少钱可以一次性入账
  • 企业接受捐赠固定资产的运费怎么做账
  • 预计负债是暂时性差异还是永久性差异
  • 建筑业分项目核算会计账务处理
  • 装修费用一次性摊好还是分期好
  • 理财产品利息计入本金吗
  • 非公司员工可以发提成吗
  • sqlserver数据库优化的几种方式
  • mysql5.7.19 zip 详细安装过程和配置
  • 32位win7系统多大?
  • 预览版win10
  • Windows Server 2008的节能降耗
  • freebsd windows
  • 0x80070718配额不足
  • 硬盘安装好了显示不出来怎么办
  • window10正版系统怎么装
  • linuxmint设置中文
  • android xui
  • messenger api
  • dos命令不能执行怎么回事
  • 反序存放字符串
  • Unity的Attribute(特性)还算多吧
  • js判断字符串字符出现的次数
  • jquery中判断某个类是否存在的方法
  • python爬虫怎么做
  • python中求最大值和最小值的函数
  • 税收分类分级管理后如何开展风险管理
  • 合伙企业如何申报税务报表
  • 河北税务交社保显示未找到对应的城乡居民应缴费额配置
  • 广东省国税局局长潘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设