Python程序设计基础 Chap08 字典.pdf
《Python程序设计基础 Chap08 字典.pdf》由会员分享,可在线阅读,更多相关《Python程序设计基础 Chap08 字典.pdf(35页珍藏版)》请在咨信网上搜索。
1、内衮提纲8.1 什么是字典8.2 字典的创建和使用8.3 字典的基本操作8.4 字典的格式化字符串8.5 字典的实例应用O引例。引例假设有一种表格,第一列 表示学号,第二列表示学 号所对应的学生姓名,它 们的关系一一对应现在想查找学号是 20170001的学生,我们 从表中对应的第二列,就 能很方便地知道该学生的 姓名是“张三”,如右表:20170001张三20170002李四20170003王五20170004赵六8.1什么是字典 字典是Python语言中唯一的映射类型。映射类型对象里哈希值 和指向的对象,通常被认为是可变的哈希表。字典对象是可变 的,它是一个容器类型,能存储任意个数的Pyt
2、hon对象,其中 也可包括其他容器类型。字典是Python中最强大的数据类型之一,它与列表、元组等其 他序列类型的主要区别有以下几点。(1)存取和访问数据的方式不同。(2)映射类型中的数据是无序排列的。这和序列类型是不一 样的,序列类型是以数值序排列的。(3)映射类型用键直接映射到值。(4)字典支持索引操作(索引值为键值),但不支持切片操 作,因为切片操作是针对索引值具有连续性,而字典的键不具 备连续性。:(5)字典中的键必须不可变且不重复,值可以是任何类型。字典就是用花括号。包裹的键值对的集合(键值对有时也被称作项或元素)o在字典的创建过程中,要注意以下几点。(1)键与值之间用冒号:分开;(
3、2)项与项之间用逗号,分开;:(3)字典中的键必须是唯一的,而值可以不唯一。8.2.1直接创建字典创建一个空的字典:mydict=#创建一个空的字典 mydict#输出此字典的内容:可知结果为空的。创建一个与引例相对应的字典:student=ZODOOOl:1 张三NOrZOOOZ:1 李四 20170003(王五,20170004:赵六,8.2.2通过diet函数创建字典 diet函数是字典类的构造函数,也可以利用此函数来创建字典 创建一个空字典:dict():还可以传入键值对创建字典。dict(a=l,b=2,c=3)2,言:1,E 3可以传入映射函数创建字典。dict(zip(ablL2
4、)fb1:2,宣:1 8.2.2通过diet函数创建字典 diet函数是字典类的构造函数,也可以利用此函数来创建字典 创建一个空字典:dict():还可以传入键值对创建字典。dict(a=l,b=2,c=3)2,言:1,E 3可以传入映射函数创建字典。dict(zip(ablL2)fb1:2,宣:1:dict(Cal/l)/Cb;2)b:2,a:1另外,也可以用diet函数,对字典进行如下操作:mydict=bl 2Z a:1,c:3)#定义一个字典mydict a=dict(mydict)mydict作为diet函数的参数 print(a)#输出字典afb1:2,a1:L 3在创建完一个字典
5、后,可以利用len函数来获取字典的长度,也 就是获取该字典中键值对的个数。下面家字典myd ict的长虚 len(mydict)3 得到的结果为3,说明此字典中包含了3个键值对。领先的智慧教育云服务提供商Wisdom Education Cloud8.2字典的创建和使3 8.2.3字典的修改和删除:修改字典中已存在元素的值,操作如下:diet=Name:huang,Age:20,Class:10 dictAge=30;#将键Age所对应的值改为30 diet Class:10,Age:30,Name:huang在实际操作过程中,还可以向字典添加元素(必须同时添加键 值对),方法如下:dictr
6、SchooP=GDPU;#增加新的元素 diet Class:10丁Age:30,Name:uang;School1:GDPU 可以看到,新增加的键值对5che)or:,GDPU已经成为字典的 一个元素。偏丽I领先的智慧教育云g冬鼠服务提供商小口 下Wisdom Education Cloud8.2字典的创建和使仁当要想删除字典中的其一个元素时,用del 多了一个空格就行,其用法为缺少标点符号 del dicUName;#删除键是Name的元素 diet Class:10丁Age:30z School:GDPU从输出的结果可知,键为Name的元素已不在字典中了。还可 以用diet,clear。
7、来清空词典所有元素。dict.clear()diet*格式错乱,跑到阴影框的外面了可知执行此操作后,字典为空。clear是一个原地操作的方法,使得diet中的内容全部被置空,里面所有的元素将被清除,成 为一个空的字典。字典是一种特殊的集合,因此可以循环操作对其进行遍历。一 般来说,对字典的遍历有如下几种形式。为了便于讲述,可以先建立一个字典。mydict=Name:huang,Age:20,Class:IO1:建议把这段移动到开头位置,否则,把如下几种形式和后 面的几种形式给断开了 1.遍历字典的key(键)for i in mydict:print(i):输出结果为:Class Age Na
8、me领先的智慧教育云服务提供商Wisdom Education CloudF 2,遍历字典的value(值)*for i in mydict.valuesQ:8-2字典的创建和使print(i)结果为:1020Huang可知,values。函数是对字典元素的值进行操作的,此程序中 的变量i 变量i是否要斜体?全书要统一一下对应字典中的每个 元素的值。领先的智慧教育云服务提供商Wisdom Education Cloud3 3,遍历字典的项(元素)8.2字典的创建和使 for i in mydict.items():print(i):输出结果为字典的所有元素:(Class;10)CAge;20)
9、(NameJhuang)此程序中的变量i对应字典中的元素(包括健和值)领先的智慧教育云服务提供商Wisdom Education Cloudm 4.遍历字典的key-value。for ij in mydict.items():82字典的创建和使 print(ij):输出结果如下:Class 10 Age 20 Name huang此程序中的变量i对应字典的键,变量j对应字典的值。领先的智慧教育云服务提供商Wisdom Education Cloud3 8.3.1 get函数:访问字典成员 get()函数根据key获取值。d=,one,:lz,two,:2/three,:38.3字典的基本操彳
10、 print(d.get(,two,)2 print(d.get(,four,)#字典d中没有four这个键:输出结果为:None领先的智慧教育云服务提供商Wisdom Education Cloud8.3字典的基本操彳口5 get函数可以访问字典中不存在的键,当该键不存在时返None,读者可以参看前面所讲的用索引的方式来获取值,当 键不存在时,系统会报错,这是两种方法获取字典元素值的区 别。建议大家在从字典取值时,多用get()函数。领先的智慧教育云服务提供商Wisdom Education Cloud5 8.3.2 copy函数:返回一个具有相同键值的新字典 x=,one,:lz,two,
11、:2z,three,:3z,test,:,a,z,b,z,c,#创建个字典X8.3字典的基本操彳 print(x)#输出字典x*one:1,two:2,test:aJbJcl three:3:y=x.copyO#用8丫函数,将字典X复制到字典y中 print(y)#输出字典y one:1,two:2,test:aJbJcl three:3陶繇领先的智慧教育云g冬萌服务提供商小口 干Wisdom Education Cloud8.3字典的基本操彳F可以看到,用copy函数复制后,字典x和字典y具有相同的元素(键值对),y是x的一个副本。再看下面的操作:ythree=33#将字典y中键为廿ree的
12、元素值改为33 print(y)one:1,two:2Z test:aJbJc,廿ree:33从输出结果中,可以看到已经成功修改。此时,再来看看字典x的情况。print(x)one:1,two:2,test:9,b,c,廿ree:3当修改副本字典y中的值时,不会对原字典x产生影响。下面再做如下操作:yrtestl.removeCc)*y one:1,two:2,test:az bz three:3 x one:1,two:2,test:az bz three:3大家从输出结果可以看到,副本的操作影响到了原始字典。在复制的副本中 对值进行替换后,对原来的字典不产生影响,但是如果修改了副本(如增、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python程序设计基础 Chap08 字典 Python 程序设计 基础
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。