位置: 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)

  • 微信怎么查询2021高考成绩(微信怎么查询2023年医保缴费记录)

    微信怎么查询2021高考成绩(微信怎么查询2023年医保缴费记录)

  • 苹果12在哪里开启深色模式(苹果12在哪里开5g)

    苹果12在哪里开启深色模式(苹果12在哪里开5g)

  • 淘宝部分发货的怎么看自动确认收货时间(淘宝部分发货的订单确认收货是一起)

    淘宝部分发货的怎么看自动确认收货时间(淘宝部分发货的订单确认收货是一起)

  • 微机操作系统可以分为哪三种(微机操作系统可以分为)

    微机操作系统可以分为哪三种(微机操作系统可以分为)

  • 淘宝怎么看自己的买家秀(淘宝怎么看自己等级几颗星)

    淘宝怎么看自己的买家秀(淘宝怎么看自己等级几颗星)

  • 圈a怎么打出来(手机圈a怎么打出来)

    圈a怎么打出来(手机圈a怎么打出来)

  • 远程控制电脑听见别人说话吗(远程控制电脑听不到对方的声音)

    远程控制电脑听见别人说话吗(远程控制电脑听不到对方的声音)

  • 华为手机怎么改微信号(华为手机怎么改密码锁屏)

    华为手机怎么改微信号(华为手机怎么改密码锁屏)

  • excel不对称表格怎么做(excel不对称数据怎么分列)

    excel不对称表格怎么做(excel不对称数据怎么分列)

  • 电脑开机cpu风扇不动(电脑开机cpu风扇转一下就停又转一下)

    电脑开机cpu风扇不动(电脑开机cpu风扇转一下就停又转一下)

  • vivo怎么关闭温度保护(vivo手机怎样关闭温度保护)

    vivo怎么关闭温度保护(vivo手机怎样关闭温度保护)

  • z68主板支持什么cpu(z68主板支持什么针脚)

    z68主板支持什么cpu(z68主板支持什么针脚)

  • 苹果8发热怎么回事(苹果8发热怎么样)

    苹果8发热怎么回事(苹果8发热怎么样)

  • 蓝牙和优联区别(蓝牙鼠标和优联鼠标)

    蓝牙和优联区别(蓝牙鼠标和优联鼠标)

  • 候补提交成功啥意思(候补提交成功可以上车吗)

    候补提交成功啥意思(候补提交成功可以上车吗)

  • vivo手机内存卡放哪里(vivo手机内存卡槽在哪里)

    vivo手机内存卡放哪里(vivo手机内存卡槽在哪里)

  • 快手为什么要加粉丝团(快手为什么要加身份证号)

    快手为什么要加粉丝团(快手为什么要加身份证号)

  • ios12和11哪个更流畅(苹果11和12系统对比)

    ios12和11哪个更流畅(苹果11和12系统对比)

  • 微信文件保存几天(微信文件保存几天失效)

    微信文件保存几天(微信文件保存几天失效)

  • return可以返回字符串吗(return可以返回double吗?)

    return可以返回字符串吗(return可以返回double吗?)

  • 苹果11有闪光灯吗(苹果11有闪光灯怎么设置)

    苹果11有闪光灯吗(苹果11有闪光灯怎么设置)

  • 数字证书的作用(数字证书的作用主要有)

    数字证书的作用(数字证书的作用主要有)

  • 苹果手表能插sim卡吗(苹果手表能插手机卡吗)

    苹果手表能插sim卡吗(苹果手表能插手机卡吗)

  • 显示器怎么连音响(显示器怎么连音响蓝牙)

    显示器怎么连音响(显示器怎么连音响蓝牙)

  • 苹果蓝牙耳机怎么调音量(苹果蓝牙耳机怎么连)

    苹果蓝牙耳机怎么调音量(苹果蓝牙耳机怎么连)

  • oppor9s屏幕分辨率怎么设置(oppor9s手机分辨率怎么调)

    oppor9s屏幕分辨率怎么设置(oppor9s手机分辨率怎么调)

  • 苹果手机怎么设置闹钟(苹果手机怎么设置手写)

    苹果手机怎么设置闹钟(苹果手机怎么设置手写)

  • 微信签约管理在哪里(安卓微信签约管理在哪里)

    微信签约管理在哪里(安卓微信签约管理在哪里)

  • 系统安装步骤windows10(系统安装的步骤)

    系统安装步骤windows10(系统安装的步骤)

  • 在Android端集成OpenCV的三种方式(android常用的集成开发工具有)

    在Android端集成OpenCV的三种方式(android常用的集成开发工具有)

  • 企业垃圾处理费申报依据
  • 职工福利费会计凭证
  • 小微企业应纳税所得额是指什么
  • 农村信用社可计息贷款吗
  • 企业出租房产增值税率
  • 申请高新时需要几个项目
  • 企业所得税中的所得
  • 累计减税费用是什么意思
  • 要补交税怎么办
  • 什么情况下可以要求员工待岗
  • etc预付发票可以抵税吗
  • 单位边际贡献和边际贡献一样吗
  • 出口退税申报无电子信息
  • 企业清理固定资产所得税汇算是需要调整吗
  • 现金折扣退回会计分录
  • 多交印花税申请怎么写
  • 年终奖和当月工资合并申报税
  • 工会经费有关的增值税能否抵扣?
  • 企业支付劳务费到底需要发票吗
  • 环境保护税即将施行 有哪些点需要关注?
  • 企业爱心捐赠可以抵相应的税吗
  • 销售换货怎么做账务处理
  • 直系亲属之间转账要交税吗
  • 委托加工费的增值税计入成本吗
  • 坏账准备需要做账吗
  • 资源费用怎么算
  • 研发费用的
  • 进口增值税13可以抵扣多少
  • 个人开农产品发票流程
  • 负债率是什么指标
  • 固定资产清理和固定资产减值准备的区别
  • 费用报销单正确填写格式
  • linux系统的文件与目录操作
  • win11新功能
  • phpunicode
  • 工程款包工包料怎么开票
  • win10您需要权限来执行删除
  • 预付款不退如何投诉
  • 自然vc
  • 没有发票怎么做研发费用
  • php验证身份证号
  • 买税控盘的钱怎么做账
  • 航天金税盘发票作废流程视频
  • 小微企业声明函去哪个部门开
  • 非本公司员工能上班吗
  • 商业承兑汇票贴现流程
  • 扶贫资金入股问题
  • 开基本户一定要法人身份证吗
  • Python中自定义异常
  • spring整合mongodb
  • Python可变数据类型和不可变数据类型
  • 银行手续费未开发票前计入什么科目
  • mysql存储引擎的作用
  • 购入固定资产入账会计凭证怎么做
  • 研发人员差旅费可以资本化吗
  • 领款单有法律效力吗
  • 损益类科目全部科目
  • 购入货物的运费计入
  • 其他未列明信息技术服务业
  • 税务局退还的三险是什么
  • 少做收入第二年怎么算
  • 开具红字发票的当月就要进项税额转出吗?
  • 软件属于无形资产什么类别
  • centos安装教程详解
  • linux解密
  • jquery 限制文件大小
  • 全面理解全面把握全面落实
  • php编译安装常见的软件
  • xcopy命令拷贝目录
  • html收藏夹导入
  • Qualcom QMI系列-基本知识介绍
  • jQuery prototype冲突的2种解决方法(附demo示例下载)
  • jq filter过滤
  • Python循环遍历的题
  • javascript构造函数创建对象
  • 怎样在电子税务局查询财务报表
  • 陕西省国家税务总局班子成员
  • 柜台申报税务流程图
  • 杭州地税局办事大厅
  • 企业所得税预缴时间规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设