Python电子教案6-1 组合数据类型.pptVIP

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如上例所示,ls由实际数据赋值产生,为列表对象。将ls赋值给列表lt仅能产生对列表ls的一个新的引用,此时,lt和ls变量都是实际数据[425,BIT, 1024]的表示或引用,真实数据只存储一份,因此,修改ls也同时修改了ls,这个关系如图6.5所示。 列表类型的概念 函数或方法 描述 ls[i] = x 替换列表ls第i数据项为x ls[i: j] = lt 用列表lt替换列表ls中第i到j项数据(不含第j项,下同) ls[i: j: k] = lt 用列表lt替换列表ls中第i到j以k为步的数据 del ls[i: j] 删除列表ls第i到j项数据,等价于ls[i: j]=[] del ls[i: j: k] 删除列表ls第i到j以k为步的数据 列表是序列类型,因此,表6.1中12个序列类型的操作符和函数都可用于列表类型。 由于列表是可变的,表6.4给出了列表类型额外的14个常用函数或方法。 列表类型的操作 函数或方法 描述 ls += lt或ls.extend(lt) 将列表lt元素增加到列表ls中 ls *= n 更新列表ls,其元素重复n次 ls.append(x) 在列表ls最后增加一个元素x ls.clear() 删除ls中所有元素 ls.copy() 生成一个新列表,复制ls中所有元素 ls.insert(i, x) 在列表ls第i位置增加元素x ls.pop(i) 将列表ls中第i项元素取出并删除该元素 ls.remove(x) 将列表中出现的第一个元素x删除 ls.reverse(x) 列表ls中元素反转 列表类型的操作 上述操作符主要处理列表的增删改等功能 列表类型的操作 上述例子中,vlist[3]从整数变成了字符串,子序列vlist[1:3]被另一个列表赋值修改。需要注意,当使用一个列表改变另一个列表值时,Python不要求两个列表长度一样,但遵循“多增少减”的原则,例子如下。 列表类型的操作 vlist[1:3]子序列包含2个元素,对其赋值时却给了3个元素,Python接受这种方式,并不会报错,vlist结果包含了赋值列表中的多余元素。同样,当使用包含更少元素赋值列表时,原列表元素会相应减少。可以通过赋给更多或更少元素实现对列表元素的插入或删除。 与元组一样,列表可以通过for…in语句对其元素进行遍历,基本语法结构如下 for 任意变量名 in 列表名: 语句块 ? 列表类型的操作 列表是一个十分灵活的数据结构,它具有处理任意长度、混合类型的能力,并提供了丰富的基础操作符和方法。当程序需要使用组合数据类型管理批量数据时,请尽量使用列表类型。 列表类型的操作 第6节: 组合数据类型 组合数据类型概述 计算机不仅对单个变量表示的数据进行处理,更通常情况,计算机需要对一组数据进行批量处理。一些例子包括: 给定一组单词{python, data, function, list, loop},计算并输出每个单词的长度; 给定一个学院学生信息,统计一下男女生比例; 一次实验产生了很多组数据,对这些大量数据进行分析; 序列类型 以单词统计问题为例,在计算一个单词长度之前,程序需要使用一个变量表示这个单词,对于一组单词,需要很多个变量。有两个解决方案:为每个单词分配一个变量,从变量命名上加以区分,例如:a01、a02分别存储第一个、第二个元素;或者,采用一个数据结构存储这组数据,对每个元素采用索引加以区分,例如a表示这组元素,a[0]为该组第一个元素,a[1]为第二个元素。两个方案哪个更好呢?显然,第二个方案更好。假定单词数量是500个而不是5个,使用第一种方法将是灾难。此外,对每个元素单独定义变量,不利于循环操作。 序列类型 组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序更容易。根据数据之间的关系,组合数据类型可以分为三类:序列类型、集合类型和映射类型。 序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。 集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。 映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。 序列类型 在Python中,每一类组合数据类型都对应一个或多个具体的数据类型,结合本书章节安排,组合数据类型的分类构成如图6.1所示,其中加粗字体表示Python支持的具体数据类型。 序列类型 序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。序列的基本思想和表示方法均来源于数学概念。在数学中,经常给每个序列一个名字,例如,n个数的序列S,可以表示为: S=s0, s1 , s2, …. , sn-1 当需要访问序列中某个特定值时,只需要通过下标

您可能关注的文档

文档评论(0)

ma982890 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档