版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
字典的排序教学目标1.了解字典在Python中的有序性
2.了解sorted()函数的基本使用
3.掌握按键排序的实现
4.了解按值排序的实现
5.掌握自定义排序键在Python中,字典(dict)是内置数据结构,用于存储键值对,字典默认保持插入顺序。这意味着遍历字典时,项按插入序出现,但排序通常指按键或值重新排列。优势:有序性简化数据处理,如JSON序列化。核心概念:字典无内置sort()方法,因为它是无序集合的演变;使用sorted()函数实现有序。1、字典在Python中的有序性
#字典有序性示例d={'b':2,'a':1,'c':3}#创建字典,按插入顺序存储print(list(d.keys()))#输出:['b','a','c'],保持插入序d['d']=4#添加新键,追加到末尾print(list(d.keys()))#输出:['b','a','c','d']sorted()函数对可迭代对象排序,返回新列表,可用于字典键、值或项。在Python中,sorted(d)默认按键排序。核心概念:sorted()不修改原字典,适合临时排序;参数key指定排序依据,如len。2.sorted()函数基本使用#sorted()基本排序d={'apple':5,'banana':2,'cherry':8}#原字典sorted_keys=sorted(d)#按键排序,返回列表print(sorted_keys)#输出:['apple','banana','cherry']sorted_values=sorted(d.values())#按值排序print(sorted_values)#输出:[2,5,8]lambda表达式可以实现自定义函数。语法简洁。在sorted函数中,常指定key为lambda表达式,可以实现按照自定义规则排序。核心概念:lambda匿名函数;具体应用可以实现sorted排序的自定义,实例强调简洁。3.lambda表达式按键排序使用sorted(d.items())返回排序后的元组列表,可转换为字典保持顺序。在Python中,结合dict()创建排序字典。reverse=True降序。核心概念:items()返回(键,值)视图,sorted()按键排序。4.按键排序的实现#按键排序实现d={'c':3,'a':1,'b':2}#无序插入sorted_d=dict(sorted(d.items()))#按键排序,转为字典print(sorted_d)#输出:{'a':1,'b':2,'c':3}sorted_desc=dict(sorted(d.items(),reverse=True))#降序print(sorted_desc)#输出:{'c':3,'b':2,'a':1}按值排序使用sorted(d.items(),key=lambdax:x[1]),指定key函数取值。在Python中,这返回按值排序的项列表,可转字典。lambda匿名函数提取值,支持复杂如绝对值。核心概念:lambda匿名函数提取值,支持复杂如绝对值。5.
按值排序的实现#按值排序d={'apple':5,'banana':2,'cherry':8}#字典sorted_by_value=dict(sorted(d.items(),key=lambdax:x[1]))#按值升序print(sorted_by_value)#输出:{'banana':2,'apple':5,'cherry':8}sorted_desc_value=dict(sorted(d.items(),key=lambdax:x[1],reverse=True))#降序print(sorted_desc_value)#输出:{'cherry':8,'apple':5,'banana':2}自定义排序使用key函数,如按键长度或值属性。在Python中,key可为函数或lambda,支持多条件。operator.itemgetter()高效提取。核心概念:operator.itemgetter()高效提取。6.自定义排序键#自定义排序fromoperatorimportitemgetter#导入itemgetterd={'short':1,'longer':2,'a':3}#字典sorted_by_key_len=dict(sorted(d.items(),key=lambdax:len(x[0])))#按键长度print(sorted_by_key_len)#输出:{'a':3,'short':1,'longer':2}sorted_by_value=dict(sorted(d.items(),key=itemgetter(1)))#使用itemgetter按值字典排序应用于数据分析、报告生成,如按频率排序词频。在Python中,结合collections.Counter高效。排序后可迭代输出或存储。核心概念:结合collections.Counter高效。7.字典排序的应用与注意事项#应用示例:词频排序fromcollectionsimportCounter#导入Counterwords=['apple','banana','apple','cherry']#列表freq=Counter(words)#创建词频字典sorted_freq=dict(sorted(freq.items(),key=lambdax:x[1],reverse=True))#按频降序print(sorted_freq)#输出:{'apple':2,'banana':1,'cherry':1}小结1.字典默认保持插入顺序,无内置sort()方法,使用sorted()函数实现排
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 改则县2027届数学六上期末监测模拟试题含解析
- 2027届固阳县三上数学期末达标检测试题含解析
- 2025-2026学年南辕北使文言文教学设计
- 2027届长春市二道区数学六年级第一学期期末质量跟踪监视试题含解析
- 3.2工业区位因素及其变化-以喜之郎为例(教学设计)2025-2026学年高一地理人教版(2019)必修第二册
- 滁州市2025年度安徽滁州市市直事业单位公开招聘工作人员103名笔试历年参考题库典型考点附带答案详解
- 清丰县2024年河南濮阳清丰县事业单位招聘工作人员117人笔试历年参考题库典型考点附带答案详解
- 厦门市民立二小2025届数学三下期末联考模拟试题(含解析)
- 南充市顺庆区2025届数学四年级第二学期期末教学质量检测试题(含答案解析)
- 参与意愿影响因素论文
- 滴定分析培训课件
- 顶管工作井设计标准图集
- DB11-T 213-2022 城镇绿地养护技术规范
- 某大型工程项目部临建施工方案(技术方案)
- 2024年餐厅服务员(技师、高级技师)职业鉴定理论考试题库(含答案)
- 2024年成都西岭文旅投资运营集团有限公司招聘笔试冲刺题(带答案解析)
- GD T 形状及位置公差分析(一)
- 套扣式支模架专项施工方案
- 女性不孕症研究白皮书
- 铁路岩溶路基注浆施工质量检测细则
- 美发店卫生的管理制度 篇2
评论
0/150
提交评论