Python电子教案6-1-组合数据类型ppt课件

上传人:钟*** 文档编号:1552021 上传时间:2019-10-25 格式:PPT 页数:72 大小:1.39MB
返回 下载 相关 举报
Python电子教案6-1-组合数据类型ppt课件_第1页
第1页 / 共72页
Python电子教案6-1-组合数据类型ppt课件_第2页
第2页 / 共72页
Python电子教案6-1-组合数据类型ppt课件_第3页
第3页 / 共72页
点击查看更多>>
资源描述
Python语言程序设计,1,保湿成分:甘油,维他命B5,维他命E,乳酸,矿脂,海藻提取物,丙二醇,聚乙二醇,透明质酸(玻尿酸),荷荷芭油,氨基酸,水解胶原蛋白,天然保湿因子NMF,卵磷脂,神经酰胺,胆固醇,硬脂酸酯,豆蔻酸酯,棕榈酸酯,甘油酸酯,山梨醇,尿素,羟基酸和糖类等,不饱和亚油酸,亚麻酸,花生四烯酸,各种维生素等,各种植物油脂。 美白成分:维他命B3,维他命C,果酸,曲酸,乳酸,鞣花酸,熊果苷,甘草、桑树的提取物,氨基酸多肽,VC及其衍生物、水杨酸及其衍生物、凝血酸、VB3、甘草黄酮、光苷草定,芦荟,樱桃,柠檬。 抗皱成分:维他命A,维他命C,维他命E,胶原蛋白,弹力蛋白, 植物胎盘素,六元胜肽,透明质酸(玻尿酸),氨基酸多肽(胜肽),石榴多酚,辅酶Q10,虾青素,原花青素,葡萄籽,橄榄叶,石榴,绿茶,白茶。还有中草药的人参,银杏,灵芝等。,橄榄油、香料、皂基,2,第6章 组合数据类型,3,组合数据类型概述,4,序列类型,计算机不仅对单个变量表示的数据进行处理,更多情况,计算机需要对一组数据进行批量处理。一些例子包括: 给定一组单词python, data, function, list, loop,计算并输出每个单词的长度; 给定一个学院学生信息,统计一下男女生比例; 一次实验产生了很多组数据,对这些大量数据进行分析;,5,序列类型,组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序更容易。根据数据之间的关系,组合数据类型可以分为三类: 序列类型、集合类型和映射类型。,6,序列类型,序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。 集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。 映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。,7,序列类型,8,序列类型,序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。 当需要访问序列中某特定值时,只需要通过下标标出即可。,9,序列类型,由于元素之间存在顺序关系,所以序列中可以存在相同数值但位置不同的元素。序列类型支持成员关系操作符(in)、长度计算函数(len())、分片(),元素本身也可以是序列类型。,10,序列类型,Python语言中有很多数据类型都是序列类型,其中比较重要的是:str(字符串)、tuple(元组)和list(列表)。 元组是包含0个或多个数据项的不可变序列类型。元组生成后是固定的,其中任何数据项不能替换或删除。 列表则是一个可以修改数据项的序列类型,使用也最灵活,11,序列类型,序列类型有12个通用的操作符和函数,12,序列类型,元组(tuple)是序列类型中比较特殊的类型,因为它一旦创建就不能被修改。元组类型在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等情况下十分有用。Python中元组采用逗号和圆括号(可选)来表示。,13,序列类型,14,集合类型,集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。集合中元素不可重复,元素类型只能是固定数据类型,例如:整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现。,15,集合类型,由于集合是无序组合,它没有索引和位置的概念,不能分片,集合中元素可以动态增加或删除。集合用大括号()表示,可以用赋值语句生成一个集合。,16,集合类型,由于集合元素是无序的,集合的打印效果与定义顺序可以不一致。由于集合元素独一无二,使用集合类型能够过滤掉重复元素。set(x)函数可以用于生成集合。,17,集合类型,集合类型有10个操作符,18,集合类型,上述操作符表达了集合类型的4种基本操作,交集(&)、并集(|)、差集(-)、补集(),操作逻辑与数学定义相同,19,集合类型,集合类型有10个操作函数或方法,20,集合类型,集合类型主要用于三个场景:成员关系测试、元素去重和删除数据项,例子如下。,集合类型与其他类型最大的不同在于它不包含重复元素,因此,当需要对一维数据进行去重或进行数据重复处理时,一般通过集合来完成。,21,映射类型,映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key, value),元素之间是无序的。键值对(key, value)是一种二元关系。在Python中,映射类型主要以字典(dict)体现。,22,列表类型和操作,23,列表类型的概念,列表(list)是包含0个或多个对象引用的有序序列,属于序列类型。与元组不同,列表的长度和内容都是可变的,可自由对列表中数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。,24,列表类型的概念,由于列表属于序列类型,所以列表也支持成员关系操作符(in)、长度计算函数(len())、分片()。列表可以同时使用正向递增序号和反向递减序号,可以采用标准的比较操作符(=、)进行比较,列表的比较实际上是单个数据项的逐个比较。,25,列表类型的概念,列表用中括号()表示,也可以通过list()函数将元组或字符串转化成列表。直接使用list()函数会返回一个空列表。,26,列表类型的概念,与整数和字符串不同,列表要处理一组数据,因此,列表必须通过显式的数据赋值才能生成,简单将一个列表赋值给另一个列表不会生成新的列表对象。,27,列表类型的概念,28,列表类型的操作,29,列表类型的操作,30,列表类型的操作,当使用一个列表改变另一个列表值时,Python不要求两个列表长度一样,但遵循“多增少减”的原则,例子如下。,31,列表类型的操作,与元组一样,列表可以通过forin语句对其元素进行遍历,基本语法结构如下: for in : 语句块,32,列表类型的操作,列表是一个十分灵活的数据结构,它具有处理任意长度、混合类型的能力,并提供了丰富的基础操作符和方法。当程序需要使用组合数据类型管理批量数据时,请尽量使用列表类型。,33,基本统计值计算,34,基本统计值的计算,以最简单的统计问题为例,求解一组不定长数据的基本统计值,即平均值、标准差、中位数。 一组数据表示为S=s0, s1, , sn-1,其算术平均值、标准差分别表示为:,和,35,基本统计值的计算,由于平均数、标准差和中位数是三个不同的计算目标,使用函数方式编写计算程序。 getNum()函数从用户输入获得数据 mean()函数计算平均值 dev()函数计算标准差 median()函数计算中位数,36,基本统计值的计算,37,基本统计值的计算,38,基本统计值的计算,程序先后调用getNum()、mean()、dev()和median()函数。利用函数的模块化设计能够复用代码并增加代码的可读性。每个函数内部都采用了简单的语句。,39,基本统计值的计算,列表在实现基本数据统计时发挥了重要作用,表现在: 列表是一个动态长度的数据结构,可以根据需求增加或减少元素; 列表的一系列方法或操作符为计算提供了简单的元素运算手段; 列表提供了对每个元素的简单访问方式及所有元素的遍历方式。,40,字典类型的计算,41,字典类型的基本概念,通过任意键信息查找一组数据中值信息的过程叫映射,Python语言中通过字典实现映射。Python语言中的字典可以通过大括号()建立,建立模式如下: :, :, , : 其中,键和值通过冒号连接,不同键值对通过逗号隔开。,42,字典类型的基本概念,字典打印出来的顺序与创建之初的顺序不同,这不是错误。字典是集合类型的延续,各个元素并没有顺序之分。,43,字典类型的基本概念,字典最主要的用法是查找与特定键相对应的值,这通过索引符号来实现。,一般来说,字典中键值对的访问模式如下,采用中括号格式: = 字典中对某个键值的修改可以通过中括号的访问和赋值实现:,44,字典类型的操作,通过中括号可以增加新的元素,直接使用大括号()可以创建一个空的字典,并通过中括号()向其增加元素。,45,字典类型的操作,46,字典类型的操作,47,字典类型的操作,与其他组合类型一样,字典可以通过forin语句对其元素进行遍历,基本语法结构如下: for in : 语句块,48,字典类型的操作,字典是实现键值对映射的数据结构,请理解如下基本原则: 字典是一个键值对的集合,该集合以键为索引,一个键信息只对应一个值信息; 字典中元素以键信息为索引访问; 字典长度是可变的,可以通过对键信息赋值实现增加或修改键值对。,49,jieba库的使用,50,jieba库的概述,jieba是Python中一个重要的第三方中文分词函数库,jieba库是第三方库,不是安装包自带,需要通过pip指令安装,51,jieba库的解析,52,jieba库的解析,53,文本词频统计,54,Hamlet英文词频统计,55,Hamlet英文词频统计,观察输出结果可以看到,高频单词大多数是冠词、代词、连接词等语法型词汇,并不能代表文章的含义。进一步,可以采用集合类型构建一个排除词汇库excludes,在输出结果中排除这个词汇库中内容。,56,57,Hamlet英文词频统计,运行程序后,输出结果如下,58,三国演义人物出场统计,59,三国演义人物出场统计,60,三国演义人物出场统计,观察输出结果,同一个人物会有不同的名字,这种情况需要整合处理。同时,与英文词频统计类似,需要排除一些人名无关词汇,如“却说”、“将军”等。,61,三国演义人物出场统计,62,三国演义人物出场统计,63,三国演义人物出场统计,输出排序前5的单词,运行程序后,输出结果如下:,请继续完善程序,排除更多无关词汇干扰,总结出场最多的20个人物都有哪些。这里,给出参考答案。 曹操(1451)、孔明(1383)、刘备(1252)、关羽(784)、张飞(358)、 吕布(300)、赵云(278)、孙权(264)、司马懿(221)、周瑜(217)、 袁绍(191)、马超(185)、魏延(180)、黄忠(168)、姜维(151)、 马岱(127)、庞德(122)、孟获(122)、刘表(120)、夏侯惇(116),64,Python之禅,65,Python之禅,什么样的程序是好的?如何编写漂亮的代码?这都是学习编程一段时间最经常提出的问题,却最难回答。程序设计语言如同自然语言,好的代码就像文学作品,不仅达意,更要优美。那什么是“好”?什么是“优美”?领悟编程代码优美的过程类似参禅,除了不断练习,也需要理解一些原则。,66,Python之禅,Python编译器以函数库的形式内置了一个有趣的文件,被称为“Python之禅”(The Zen of Python)。当调用如下一行语句后,会出现一段有趣的运行结果。 import this,67,68,Python之禅,69,Python之禅,除了Python之禅所表达的Python设计理念,该程序还有另一段魅力:,70,Python之禅,71,Python之禅,密文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 原文:N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 密文:a b c d e f g h i j k l m n o p q r s t u v w x y z 原文:n o p q r s t u v w x y z a b c d e f g h i j k l m 这个算法可以看作是凯撒密码的一种扩展,相比凯撒密码,采用循环移动13个位置,加密和解密可以用同一个程序。,72,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!