《Python编程基础》课件-6.6.3字典的排序_第1页
《Python编程基础》课件-6.6.3字典的排序_第2页
《Python编程基础》课件-6.6.3字典的排序_第3页
《Python编程基础》课件-6.6.3字典的排序_第4页
《Python编程基础》课件-6.6.3字典的排序_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

字典的排序教学目标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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论