Python程序设计现代方法第6章-组合数据类型.pptx

上传人(卖家):三亚风情 文档编号:3371817 上传时间:2022-08-24 格式:PPTX 页数:41 大小:1.58MB
下载 相关 举报
Python程序设计现代方法第6章-组合数据类型.pptx_第1页
第1页 / 共41页
Python程序设计现代方法第6章-组合数据类型.pptx_第2页
第2页 / 共41页
Python程序设计现代方法第6章-组合数据类型.pptx_第3页
第3页 / 共41页
Python程序设计现代方法第6章-组合数据类型.pptx_第4页
第4页 / 共41页
Python程序设计现代方法第6章-组合数据类型.pptx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、第6章 组合数据类型序列类型集合类型字典类型学习目标了解掌握熟悉熟悉了解组合类型的分类12熟悉集合、字典的基本操作熟悉中文分词模块的使用34掌握列表和元组的基本操作目录点击查看本节相关知识点序列类型6.26.26.16.1组合数据类型概述点击查看本节相关知识点6.36.3实例8:生成验证码6.46.4集合类型点击查看本节相关知识点目录中文分词模块-jieba6.66.66.56.5字典6.76.7实例9:西游记人物出场统计点击查看本节相关知识点知识架构6.1 组合数据类型概述组合数据类型概述1序列类型2集合类型3映射类型知识架构1切片2列表3元组6.2 序列类型序列类型知识架构6.4 集合类型

2、集合类型1集合的常见操作2集合关系测试知识架构6.5 字典字典1字典类型介绍2字典的常见操作6.1 组合数据类型概述组合数据类型可以将多个数据组织起来,根据数据组织方式的不同,Python的组合数据类型可分成三类:序列类型、集合类型和映射类型。6.1 组合数据类型概述序列类型序列类型来源于数学概念中的数列。数列是按一定顺序排成一列的一组数,每个数称为这个数列的项,每项不是在其它项之前,就是在其它项之后。数列定义6.1 组合数据类型概述序列类型序列类型来源于数学概念中的数列。数列是按一定顺序排成一列的一组数,每个数称为这个数列的项,每项不是在其它项之前,就是在其它项之后。序列定义序列类型在数列的

3、基础上进行了拓展,Python中的序列支持双向索引:正向递增索引和反向递减索引,如图所示。-5-4-3-2-11003.14Mu12Of(0,0)0,1,201234反向递减索引正向递增索引6.1 组合数据类型概述序列类型分类Python中的序列主要有三种:字符串字符串:由单个字符组成的不可修改的序列类型。1列表列表:是一个可以修改的序列类型,使用相对更加灵活。2元组元组:是一个不可变的序列类型,构建好以后不可以进行任何修改。36.1 组合数据类型概述集合类型数学中的集合是指具有某种特定性质的对象汇总而成的集体,其中构建集合的这些对象称为该集合的元素。集合元素特征:确定性互异性无序性6.1 组

4、合数据类型概述Python中的集合Python要求放入集合中的元素必须是不可变类型。不可变类型可变类型整型、浮点型、字符串类型和元组数据分类:列表、字典、集合6.1 组合数据类型概述映射在数学中,设A、B是两个非空集合,若按某个确定的对应法则f,使集合A中的任意一个元素x,在集合B中都有唯一确定的元素y与之对应,则称f为从集合A到集合B的一个映射。映射类型也称作可变的哈希表(散列表),哈希表是一种数据结构,表中存储存在映射关系的键值对,其中值为实际存储的数据,键为查找数据时使用的关键字。映射类型地址省份城市邮编519088金凤路广东省珠海市AB6.1 组合数据类型概述映射在数学中,设A、B是两

5、个非空集合,若按某个确定的对应法则f,使集合A中的任意一个元素x,在集合B中都有唯一确定的元素y与之对应,则称f为从集合A到集合B的一个映射。字典是Python唯一的内建映射类型,字典的键必须遵守以下两个原则:(1)每个键只能对应一个值,不允许同一个键在字典中重复出现。(2)键是不可变类型。映射类型地址省份城市邮编519088金凤路广东省珠海市AB6.2 序列类型切片要点切片是指对序列截取其中一部分的操作,其语法格式如下:1.截取范围:左闭右开2.步长取值:可正可负,默认值为1切片起始索引:结束索引:步长6.2 序列类型步长取值1.步长大于02.步长小于0python012345-6-5-4-

6、3-2-1python012345-6-5-4-3-2-16.2 序列类型语法要点是一个可变的序列没有长度的限制可以包含任意个元素1.列表中的元素使用“”包含2.各元素之间使用英文逗号分隔列表创建方式1.2.list()函数6.2 序列类型创建列表使用创建列表1示 例 list_one=list_two=1,10,55,20,6 list_thr=10,word,True,6,1使用list()创建列表,或将元组或字符串转换为列表2 list_one=list()words=Python list(words)tuple_demo=(1,3,5,7,9)list(tuple_demo)示 例6

7、.2 序列类型列表操作遍历1语法格式for 循环因子 in 列表:语句块索引和切片2 nums=11,22,33 nums0=55 nums55,22,33 nums0:2=0,1 nums0,1,33示 例6.2 序列类型列表的常见操作常见操作说明len(s)计算序列s的长度(元素个数)min(s)返回序列s中的最小元素max(s)返回序列s中的最大元素list.append()在列表list的末尾添加元素xlist.extend()在列表list中添加列表lx的元素,与+=功能相同list.insert()在列表list索引为i的元素之前插入元素xlistpop()取出并删除列表list中

8、索引为i的元素xList.remove()删除列表list中第一次出现的元素xlist.reverse()将列表list的元素反转list.clear()删除列表list中的所有元素list.copy()生成新列表,并拷贝列表list中的所有元素list.sort()将列表list中的元素排序6.2 序列类型元组的创建方式1.()2.tuple()函数使用()创建列表1示 例()#创建一个空数组 1,#由逗号结尾表示元组 (1,)#单个元素的元组(1,2,3)#包含多个元素的元组使用tuple()创建元组,或将字符串转换为元组2 tuple()tuple(1,2,4)tuple(python)

9、示 例6.2 序列类型元组应用场景表达固定数据函数多返回值多变量同步赋值循环遍历 tup=tuple(1,2,4)示 例 return x,x*x示 例 x,y=10,20示 例 for x,y in(10,20),(10,25):示 例6.3 实例8:生成验证码实例8:生成验证码需求:验证码是随机生成的、包含多个大写字符、小写字母或数字的随机字符序列。要求编写程序,实现生成随机六位验证码的功能。分析:验证码共六位,需生成六个随机字符;每次生成的随机字符需存储到某数据结构之中;数据结构应具有可变、有序的特点。6.4 集合类型创建集合1.2.set()函数使用创建集合1示 例 set_demo=

10、100,word,10.5 set_demo使用set创建集合,或将字符串与元组转换为集合2 set_one=set(tuple)set_one set_two=set(13,15,17,19)示 例6.4 集合类型集合的常见操作常见操作说明S.add(x)往集合S中添加元素x(x不属于S)S.remove(x)若x在集合S中,则删除该元素,不在则产生KeyError异常S.discard(x)若x在集合S中,则删除该元素,不在则不会报错S.pop()随机返回集合S中的一个元素,同时删除该元素。若S为空,则产生KeyError异常S.clear()删除集合S中的所有元素S.copy()返回集合

11、S的一个拷贝S.isdisjoint(T)若集合S和T中没有相同的元素,则返回True6.4 集合类型示例:假设有一个集合为10,151,33,98,57,分别使用add()、remove()、pop()和clear()方法给集合添加和删除元素。set_demo=10,151,33,98,57 set_demo.add(61)set_demo set_demo.remove(151)set_demo set_demo.pop()set_demo set_demo.clear()set_demo6.4 集合类型集合关系测试集合间的关系操作ABA|B(并集)AA-B(差集)BA&B(交集)AB(补

12、集)6.4 集合类型集合关系测试常见操作说明S|TS.union(T)返回一个新集合,该集合包含属于S和T的所有元素S-T S.difference(T)返回一个新集合,该集合包含属于集合S但不属于集合T的元素S&T S.intersection(T)返回一个新集合,该集合包含同时属于集合S和T的元素STS.symmetric_difference(T)返回一个新集合,该集合包含集合S和T中的元素,但不包含同时属于两者的元素S|=TS.update(T)更新集合S,该集合包含集合S和T所有的元素S-=TS.difference_update(T)更新集合S,该集合包含在集合S中但不属于集合T的

13、元素S&=TS.intersection_update(T)更新集合S,该集合包含同时属于集合S和T的元素S=TS.symmetric_difference_update(T)更新集合S,该集合包含集合S和T中的元素,但不包含同时属于两者的元素6.4 集合类型集合关系测试子集与超集Python中使用比较运算符可以用来检查某个集合是否为其它集合的子集或者超集,其中:“”或者“”和“=”运算符用于判断的是真超集和超集。set_one=set(what)set_two=set(hat)set_one set_one set_two示 例6.5 字典字典类型介绍在编程中,通过“键”查找“值”的过程称为

14、映射。字典是典型的映射类型,其中存放的是多个键值对。users=A:123,B:135,C:680 usersC#访问键对应的值 usersA=1*5#修改键对应的值示 例字典的创建Python中使用“”包含键值对以创建字典,字典中各个元素之间通过逗号分隔,语法格式如下:键1:值1,键2:值2,.键N:值N字典元素的访问与修改使用“字典变量键”的形式可以查找字典中与“键”对应的值;使用赋值运算符可以动态修改字典中的值。6.5 字典通过操作键增加字典元素 contacts=Tom:123456,Jerry:456789 contactsTom:123456,Jerry:456789 contac

15、tsJane=789012 contactsTom:123456,Jerry:456789,Jane:789012示 例6.5 字典字典的常见操作常见操作说明d.keys()返回字典d中所有的键信息d.values()返回字典d中所有的值信息d.items()返回字典d中所有的键值对信息d.get(key,default)若键存在于字典d中返回其对应的值,否则返回默认值d.clear()清空字典d.pop(key,default)若键存在于字典d中返回其对应的值,同时删除键值对,否则返回默认值d.popitem()随机删除字典d中的一个键值对del dkey删除字典d中的某键值对len(d)返

16、回字典d中元素的个数min(d)返回字典d中最小键所对应的值max(d)返回字典d中最大键所对应的值字典类型也支持使用保留字in,来判断某个键是否存在于字典中,如果键存在,则返回True,否则返回False。6.6 中文分词模块-jieba中文分词中文分词是指将一个汉字序列切分成一个一个单独的词,也就是说将连续的字序列按照一定的规范重新组合成词序列的过程,其作用就是将用户输入的中文语句或语段拆成若干汉语词汇。示例:我是一个学生我是一个学生我我是是一个一个学生学生6.6 中文分词模块-jieba中文分词模块jiebapip install jieba/pip3 install jieba安装ji

17、eba导入jiebaimport jiebajieba模块的分词模式精确模式全模式搜索引擎模式6.6 中文分词模块-jieba常用分词函数jieba.cut()jieba.lcut()函数需要接收如下三个参数:sentence,需要分词的字符串。cut_all,控制是否采用全模式。若设为True,代表按照全模式进行分词;若设为False,代表按照精确模式进行分词。HMM,控制是否使用 HMM(Hidden Markov Model,隐马尔可夫模型)。中文分词函数cut_for_search()cut_for_search()函数接收两个参数sentence和HMM6.6 中文分词模块-jieb

18、aseg_list=jieba.cut(我来到北京清华大学,cut_all=True)print(【全模式】:+/.join(seg_list)seg_list=jieba.cut(我来到北京清华大学,cut_all=False)print(【精确模式】:+/.join(seg_list)seg_list=jieba.cut_for_search(小明硕士毕业于中国科学院计算所,后在日本京都大学深造)print(【搜索引擎模式】:+,.join(seg_list)示例:分别采用三种模式对中文进行分词操作6.7 实例9:西游记人物出场统计实例9:西游记人物出场统计需求:西游记中主要有四个角色:唐

19、僧、孙悟空、猪八戒和沙僧,这些角色中哪个才是男主角呢?案例需统计角色的出场次数,再按出场次数对角色排序,查看哪个角色排在首位。分析:本案例分析的文件中存储的是汉语小说,若要统计小说中每个词语的频率,需要先对中文进行分词操作。在开发程序之前,需要先准备好西游记这本书的电子文件。准备好资料文件以后,需要使用Python的读取文件功能先把文件中的内容转换成字符串。分析从文件内容转换而来的字符串并分词,统计角色出场次数并排序。6.8 本章小结 本章主要讲解了组合数据类型:序列类型、集合类型和映射类型,首先讲解了序列类型的内容,包括序列通用操作、列表和元组的基本操作,其次讲解了集合类型,包括集合的基本操作和集合关系测试,然后讲解了映射类型字典,包括字典类型的介绍和字典的操作,最后讲解了中文分词模块jieba。通过本章的学习,希望读者能够掌握各种数据类型的特点,能够在实际编程中合理地运用它们。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Python程序设计现代方法第6章-组合数据类型.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|