版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章字典和集合
学习任务1.掌握字典的基本操作。2.掌握字典推导式生成字典的方法。3.掌握集合的基本操作。4.掌握如何创建集合,如何向集合中添加和删除元素。5.1字典除了列表以外,字典也许是Python之中最灵活常用的内置数据结构类型。如果把列表看做是有序的元素集合,那么就可以把字典当成是无序的集合。它们主要的差别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典中,习惯将各元素对应的索引称为键(key),各个键对应的元素称为值(value),键及其关联的值称为“键值对”。5.1字典1.字典是通过键而不是索引来读取,它是通过键将一系列的值对应起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取;2.字典是无序的,列表、元组将索引值0对应的元素称为第一个元素,而字典中的元素是无序的;3.字典是可变的,字典中可以添加或者删除键值对;4.字典中的键是唯一的,不允许一个键出现两次;5.字典的键为任意不可变的数据,字典的键可以使用数字、字符串或者元组,但是不能使用列表。5.1.1字典的创建和删除字典是一种可变序列,它可以用来存储任意类型对象。字典的每个键值对的键和值之间用冒号(:)分割,每个键值对之间用逗号(,)分隔,整个字典包括在花括号{}中,格式如下所示:dictionary={key1:value1,key2:value2,...,keyn:valuen}dictionary:表示创建的字典的名称;key1,key2,...,keyn:表示元素的键,字典的键是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一;value1,value2,...,valuen:表示元素的值,值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。5.1.1字典的创建和删除下面看一个创建字典的例子。5.1.1字典的创建和删除同列表和元组一样,我们可以创建空字典。如果如果花括号中没有键值对,那么会创建一个空字典,如下面的例子所示。5.1.1字典的创建和删除我们还可以通过向dict()函数中传递键值对创建字典,其语法如下所示。dictionary=dict(key1=value1,key2=value2,...,keyn=valuen)dictionary:表示创建的字典的名称;key1,key2,...,keyn:表示元素的键,字典的键是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一;value1,value2,...,valuen:表示元素的值,值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。5.1.1字典的创建和删除通过将课程名和分数通过“键-值对”的形式创建一个字典,如下面的例子所示:5.1.1字典的创建和删除直接调用内置的dict()函数,并且不传入参数,同样也可以创建一个空字典,如下面的例子所示。5.1.1字典的创建和删除在Python中,我们还可以通过dict的fromkeys()方法创建值为空的字典,语法如下所示:dictionary=dict.fromkeys(list1)dictionary:表示创建的字典的名称;list1:一个列表,包含了创建的字典中的键;5.1.1字典的创建和删除另外,我们还可以将已存在的元组和列表创建为字典,例如下面的例子中,我们将包含课程名的元组作为键,将包含分数的列表作为值,创建了一个字典。5.1.1字典的创建和删除同列表和元组一样,如果一个字典不再使用,可以使用del命令删除,如下面的例子所示。5.1.1字典的创建和删除如果只是想清空字典的所有元素,可以调用字典对象的clear()方法,执行clear()方法后,原字典将会变成空字典,如下面的例子所示。5.1.2访问字典在Python中可以通过print()函数将字典中所有元素的值打印出来。如下面的例子所示。5.1.2访问字典因为字典中的键是唯一的,所以可以通过键获取对应的值。在Python中,我们访问字典更多的是通过指定键获取对应的值,可以通过将相应的键放入方括号访问字典里键的值,如下实例。5.1.2访问字典注意如果用字典里没有的键访问数据,会引发KeyError异常,如下面的例子所示,访问字典scores中不存在的键'MySQL数据库技术':5.1.2访问字典如下面的例子所示,获取字典不存在的键的值时,会返回默认值。5.1.2访问字典在访问字典元素时我们还可以先使用Python中的成员运算符in与notin检测某个键是否存在,再根据检测结果执行不同的代码。例如:5.1.3遍历字典在Python中,字典是以键值对的形式存储数据的,编写程序时,有时需要对字典中的键值对进行遍历,遍历字典通常有3种方法。第1种遍历字典的方法,是利用字典自身的items()方法遍历,这个方法返回一个序列,序列中保存有字典的所有的键值对,如下面例子所示。5.1.3遍历字典如果要获取字典中的每一个键和值,可以使用下面的代码进行遍历。5.1.3遍历字典第2种遍历字典的方法,是利用字典自身的keys()方法遍历,这个方法返回一个序列,序列中包含字典中所有的键,通过键就可以访问相应的值,如下面例子所示。5.1.3遍历字典第3种遍历字典的方法,是利用字典自身的values()方法遍历,这个方法返回一个序列,序列中包含字典中所有的值,如下面例子所示:5.1.4添加、修改和删除字典元素1.添加字典元素使用[]操作符添加字典元素,这种方法是通过字典的key给字典添加元素,如果字典里已存在该key的值,则会覆盖这个key的值,这也相当于修改了字典的元素,如果不存在,则会添加新的键值对,如以下例子所示:5.1.4添加、修改和删除字典元素5.1.4添加、修改和删除字典元素可以使用字典的update()方法将新字典中所有的键值对加到旧字典的对象上。如果key有重复,则直接覆盖。如以下例子所示:5.1.4添加、修改和删除字典元素3.删除字典元素可以使用del命令删除字典中的某个元素,使用clear()清空字典中的元素,如下例子所示:5.1.5字典推导式Python中,和列表、元组类似,字典也可以使用字典推导式来快速地生成一个字典,它的表现形式和列表推导式类似,只不过将列表推导式中的中括号[]改为大括号{},并且在指定表达式时,要采用键值对的形式,其语法如下。dictionary=dict(key1=value1,key2=value2,...,keyn=valuen)dictionary:表示生成的字典名称;key:表达式,用于计算生成的字典的键;value:表达式,用于计算生成的字典的值;var:循环遍历;range:采用range()函数生成的range对象。5.1.5字典推导式我们通过字典推导式生成一个包含6个随机整数的字典,如以下例子所示:5.2集合Python中的集合,和数学中的集合概念一样,用来保存不重复的元素,即集合中的元素都是唯一的,互不相同。从形式上看,和字典类似,Python集合会将所有元素放在一对大括号{}中,相邻元素之间用“,”分隔,语法格式为:{element1,element2,...,elementn}其中,elementn表示集合中的元素,个数没有限制。从内容上看,同一集合中,只能存储不可变的数据类型,包括整形、浮点型、字符串、元组,无法存储列表、字典、集合这些可变的数据类型,否则Python解释器会抛出TypeError错误。5.2.1创建集合Python提供了2种创建set集合的方法,一种是使用{}创建,另外一种是使用set()函数将列表、元组等类型数据转换为集合。1.使用{}创建在Python中,创建set集合可以像列表、元组和字典一样,直接将集合赋值给变量,从而实现创建集合的目的,其语法格式如下:setname={element1,element2,...,elementn}其中,setname表示集合的名称,起名时既要符合Python命名规范,也要避免与Python内置函数重名。5.2.1创建集合5.2.1创建集合2.使用set()函数创建set()函数为Python的内置函数,其功能是将字符串、列表、元组、range对象等可迭代对象转换成集合。该函数的语法格式如下:setname=set(iteration)其中,iteration就表示字符串、列表、元组、range对象等数据。5.2.1创建集合5.2.1创建集合需要注意的是,Python中创建空集合,只能使用set()定义,而不能使用一对花括号“{}”定义,这是因为在Python中,“{}”用于定义空字典,如下面例子所示:5.2.2向集合中添加和删除元素1.向集合中添加元素向集合中添加元素,可以使用set类型提供的add()方法实现,该方法的语法格式为:setname.add(element)其中,setname表示要添加元素的集合,element表示要添加的元素内容。需要注意的是,使用add()方法添加的元素,只能是数字、字符串、元组或者布尔类型(True和False)值,不能添加列表、字典、集合等可变类型的数据,否则Python解释器会报TypeError错误。5.2.2向集合中添加和删除元素5.2.2向集合中添加和删除元素删除现有set集合中的指定元素,可以使用remove()方法,该方法的语法格式如下:setname.remove(element)其中,setname表示要删除元素的集合,element表示要删除的元素。5.2.2向集合中添加和删除元素5.2.2向集合中添加和删除元素需要注意的是,使用此方法删除集合中元素,如果被删除元素本就不包含在集合中,则此方法会抛出KeyError错误,例如:5.2.2向集合中添加和删除元素在Python中,还可以使用集合的pop()方法删除一个元素,另外可以使用集合的clear()方法清空集合(即删除集合中的所有元素,使其变成一个空集合),还可以使用del命令删除整个集合。5.2.2向集合中添加和删除元素5.2.3集合的交集、并集和差集运算集合最常做的操作就是进行交集、并集、差集运算,首先介绍一下这些运算的概念。5.2.3集合的交集、并集和差集运算图中,有2个集合,分别为set1={1,2,3}和set2={3,4,5},它们既有相同的元素,也有不同的元素。以这两个集合为例,分别做不同运算的结果如表所示。5.2.3集合的交集、并集和差集运算下面通过一个例子演示下集合交集、并集、差集运算的使用。小结本章首先介绍了Python中的字典,字典和列表比较类似,区别在于字典中存储的元素是键值对,并且对字典的常用操作进行了介绍。然后介绍了Python中的集合,由于集合中的元素都是唯一的,因此集合的用途之一是去重,并且对集合的常用操作、交集、并集以及差集运算进行了介绍。到目前为止,我们已经对常用的序列类型进行了介绍,在实际开发中,可以根据实际需求灵活运用。实训任务实训要求请编写一个程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有关法律服务所律师工作计划例文
- 高二英语下整整学期教学计划
- 工作计划农业干部学习计划
- 春季幼儿总园学期工作计划范文
- 小学语文四年级教学工作计划表
- 任职目标2025年干部综合科个人写作目标计划
- 公司会计、财务工作计划文稿
- 《多基因病》课件
- 《蛋白质化学最终版》课件
- 《高血压病及其相关》课件
- 部编版历史九年级上册第六单元 第17课君主立宪制的英国【课件】y
- 2024年《建筑设备安装》复习考试题库及答案(含各题型)
- 2024政府采购评审专家考试题库附含答案
- 2022年内蒙古导游资格考试(含各科)题库(含答案和必背题)
- 道路清扫环卫报价方案
- 第24课《穿井得一人》公开课一等奖创新教学设计 统编版语文七年级上册
- 广告创意与品牌宣传考核试卷
- 提高吸入剂使用正确率品管圈成果汇报
- 《2025年日历》电子版模板年历月历工作学习计划横版 日历计划
- 保安保洁保障人员院感培训
- 会议接待摆台培训
评论
0/150
提交评论