- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第5章字典与集合Python程序设计
第5章字典与集合Python提供了丰富的序列类型、内置函数、方法以及语法支持等,让我们能够轻松运用序列形式的容器(数据结构)对象。但数据并非只有顺序的形式,也有“映射”形式的数据结构,即“字典”,其内含元素都是所谓的“键值配对”,从键映射到值。
第5章字典与集合此外,集合也是常见的数据类型,具有严谨的数学定义,可用来存放东西(对象),但只能放进去一次,也就是记录某东西“在不在”里面。集合既非序列、也非映射,自有其一套机制,且与字典相关。有了列表与字典,几乎就可组合出绝大部分所需的数据结构。当谈到某种数据类型时,不外乎学习如何建立、存与取(写与读)、搜寻、排序、分类、过滤等等操作动作。
关于杂凑1字典与集合的访问接口4字典结构2集合类型3目录
5.1关于杂凑
5.1关于杂凑杂凑(Hashing)是计算机科学中一种对数据的处理方法,通过某种特定的函数/算法(称为杂凑函数/算法),将要检索的项与用来检索的索引(称为杂凑,或者杂凑值)关联起来,生成一种便于搜索的数据结构(称为杂凑表,散列)。它也常被用作一种信息安全的实施方法,由一串数据中经过杂凑算法计算出来的数据指纹,经常用来识别文档与数据是否有被篡改。
5.1关于杂凑常见的杂凑演算法有MD5、SHA-1、SHA-256等等,可用来求得数据的数字指纹,其应用相当广泛,例如网站若提供大型文件,可一并附上该文件的杂凑值,下载后便能以杂凑值检查文件是否完整无缺。P2P(peer-to-peer)对等网络文件分享,诸如BitTorrent、eMule、BitComet,也会使用杂凑技术,借以检验下载的文件片段是否正确。杂凑因具有不可逆的性质,无法从杂凑值逆向推算原先的数据,所以也用于密码加密,当要存储密码时,并非直接存储,而是存储密码的杂凑值,即便被偷了,也无法破解得知密码。
5.1关于杂凑字典(dict)类型含有键值配对,只要是可杂凑的对象(不可变对象都可杂凑)都能作为键,所以不像列表受限于从0起跳的连续整数索引值,字典可使用不连续的大数字作为键,例如学生的学号,也可使用字符串作为键,例如汽车的车牌、日期时间、人物姓名、水果名等等;集合类型则是储存某些东西的数据结构,同样的,可杂凑的对象方能成为集合的元素。字典类型在其他程序语言里可能称为关联式阵列、杂凑表、映射等,概念相同但细节不同。
字典的创建字典的键与值字典生成式全局与局部字典应用实例5.2字典结构
5.2字典结构与列表(list)是存储一个个的对象,并以索引值(从0起跳的整数)存取不同,字典是存储键值配对,透过键来存取相对应的值。建立字典时可使用大括号“{}”,里面放进以逗号隔开的键值配对,键与值则以冒号“:”隔开,存取时仍使用方括号“[]”,在方括号内放入键,便可存取相关联的值。
d={} #建立空字典对象d={name:Amy,age:27} #以大括号语法建立dict对象d #字典不具顺序性{age:27,name:Amy}d[name] #以方括号存取,类似于listAmyd[age]=29 #dict是可变对象,可指派新值d[score]=77 #但若是首次指派不存在的键,d #便会建立该键值配对的关系{age:29,name:Amy,score:77}d[ape] #但若取用时字典无此键,会发生错误Traceback(mostrecentcalllast):Filestdin,line1,inmoduleKeyError:ape #键错误5.2字典结构
5.2字典结构图5-1示意了上述程序代码里的字典对象d,看起来跟列表很像,但字典的键不限定于整数。字典示意图
5.2.1字典的创建字典是一种映射形式的类型,从“键”映射到“值”,值可以是任何类型的对象,例如字符串、整数、列表或另一个字典,键则是不可变对象,例如字符串、整数、元组,最常使用的是字符串与整数。使用字符串的话,便能以容易记忆的字符串作为键,若键为整数的话,可使用任何范围的整数,不像表的索引值必须从0开始计数。d={str:[0,1,2],(30,41,52):
您可能关注的文档
- python程序设计 教学大纲、授课计划 董付国.doc
- python程序设计 课后习题与答案汇总 董付国.doc
- python程序设计 教学大纲 董付国.doc
- python程序设计 教学进度表 董付国.doc
- python程序设计 课件 第1章 初识python.pptx
- python程序设计 课件 第2章 Python语法基础.pptx
- python程序设计 课件 第3章 赋值与条件.pptx
- python程序设计 课件 第4章 循环与输出.pptx
- python程序设计 课件 第6章 序列与迭代.pptx
- python程序设计 课件 第7章 函数.pptx
- 专卖店促销员销售与成交技巧培训课件(34P).pptx
- 红色商务风新员工入职销售技巧知识培训课件(34P).pptx
- 专卖店商场销售员销售与成交技巧培训课件(34P).pptx
- 小区物业保安法律知识培训课件(28P).pptx
- 专卖店销售员轻松成交技巧培训(34P).pptx
- 轻松成交客户新员工入职通用销售技巧知识培训(34P).pptx
- 2024年初级《银行业法律法规与综合能力》考前必刷必练题库500题(含真题、必会题).docx
- 2024年“新安法知多少”知识竞赛题库及答案(最新版).docx
- 2024年30秒毕业生面试工作自我介绍.docx
- 2024年《医务人员礼仪培训》心得体会.docx
文档评论(0)