您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 3Python组合数据类型(PPT57页)
Python程序设计第3章Python组合数据类型Python程序设计3.1列表与元组3.2字典3.3集合Python程序设计序列类型定义序列处理函数及方法列表类型及操作元组类型及操作序列类型应用场景列表与元组列表与元组序列类型定义序列是具有先后关系的一组元素-序列是一维元素向量,元素类型可以不同-类似数学元素序列:s0,s1,…,sn-1-元素间由序号引导,通过下标访问序列的特定元素列表与元组序列类型定义序列是具有先后关系的一组元素列表与元组序列类型定义序号的定义列表与元组序列处理函数及方法序列通用操作符操作符及应用描述xins如果x是序列s的元素,返回True,否则返回Falsexnotins如果x是序列s的元素,返回False,否则返回Trues+t连接两个序列s和ts*n或n*s将序列s复制n次s[i]索引,返回s中的第i元素s[i:j]或s[i:j:k]切片,返回序列s中第i到j-1以k为步长的元素子序列列表与元组序列处理函数及方法序列通用操作符列表与元组序列处理函数及方法函数和方法函数和方法描述len(s)返回序列s的长度min(s)返回序列s的最小元素,s中元素需要可比较max(s)返回序列s的最大元素,s中元素需要可比较s.index(x)或s.index(x,i,j)返回序列s从i开始到j-1元素中第一次出现元素x的位置s.count(x)返回序列s中出现x的总次数列表与元组序列处理函数及方法函数和方法列表与元组列表类型及操作-列表是一种序列类型,创建后可以随意被修改-使用方括号[]或list()创建,元素间用逗号,分隔-列表中各元素类型可以不同,无长度限制列表与元组列表类型及操作列表类型定义列表与元组列表类型及操作列表类型操作函数和方法列表与元组列表类型及操作列表类型操作函数和方法ls=[cat,dog,tiger,1024]ls[1:2]=[1,2,3,4]['cat',1,2,3,4,'tiger',1024]dells[::3][1,2,4,'tiger']ls*2[1,2,4,'tiger',1,2,4,'tiger']列表与元组列表类型及操作列表类型操作函数和方法列表与元组列表类型及操作列表类型操作函数和方法ls=[cat,dog,tiger,1024]ls.append(1234)['cat','dog','tiger',1024,1234]ls.insert(3,human)['cat','dog','tiger','human',1024,1234]ls.reverse()[1234,1024,'human','tiger','dog','cat']列表与元组列表类型及操作列表功能默写定义空列表lt向lt新增5个元素修改lt中第2个元素向lt中第2个位置增加一个元素从lt中第1个位置删除一个元素删除lt中第1-3位置元素判断lt中是否包含数字0向lt新增数字0返回数字0所在lt中的索引lt的长度lt中最大元素清空lt列表与元组列表类型及操作列表功能默写定义空列表lt向lt新增5个元素修改lt中第2个元素向lt中第2个位置增加一个元素从lt中第1个位置删除一个元素删除lt中第1-3位置元素列表与元组列表类型及操作列表功能默写判断lt中是否包含数字0向lt新增数字0返回数字0所在lt中的索引lt的长度lt中最大元素清空lt列表与元组元组类型及操作-元组是一种序列类型,一旦创建就不能被修改-使用小括号()或tuple()创建,元素间用逗号,分隔-可以使用或不使用小括号列表与元组元组类型及操作tup1=()创建空元组tup1=();元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:tup1=(50)type(tup1)#不加逗号,类型为整型class'int'tup1=(50,)type(tup1)#加上逗号,类型为元组class'tuple'列表与元组元组类型及操作元组类型操作-元组继承了序列类型的全部通用操作-元组因为创建后不能修改,因此没有特殊操作列表与元组元组类型及操作元组类型操作访问元组元组可以使用下标索引来访问元组中的值,如下实例:tup1=('Google','Runoob',1997,2000)tup2=(1,2,3,4,5,6,7)print(tup1[0]:,tup1[0])print(tup2[1:5]:,tup2[1:5])以上实例输出结果:tup1[0]:Googletup2[1:5]:(2,3,4,5)列表与元组元组类型及操作元组类型操作修改元组元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:tup1=(12,34.56);tup2=('abc','xyz')#创建一个新的元组tup3=tup1+tup2;print(tup3)以上实例输出结果:(12,34.56,'abc','xyz')列表与元组元组类型及操作元组类型操作删除元组元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:tup=('Google','Runoob',1997,2000)print(tup)deltup;print(删除后的元组tup:)print(tup)以上实例元组被删除后,输出变量会有异常信息列表与元组元组类型及操作元组运算符Python表达式结果len((1,2,3))3(1,2,3)+(4,5,6)(1,2,3,4,5,6)('Hi!',)*4('Hi!','Hi!','Hi!','Hi!')3in(1,2,3)TRUEforxin(1,2,3):print(x,)123列表与元组序列类型应用场景-元组用于元素不改变的应用场景,更多用于固定搭配场景如数据保护,将列表类型转换成元组类型lt=tuple(ls)-列表更加灵活,它是最常用的序列类型-最主要作用:表示一组有序数据,进而操作它们如元素遍历,foriteminls(lt):语句块Python程序设计3.1列表与元组3.2字典3.3集合Python程序设计字典类型定义字典处理函数及方法字典类型应用场景字典字典字典类型定义通过任意键信息查找一组数据中值信息的过程叫映射映射是一种键(索引)和值(数据)的对应字典字典类型定义-键值对:键是数据索引的扩展-字典是键值对的集合,键值对之间无序字典字典类型定义键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。采用大括号{}和dict()创建,键值对用冒号:表示{键1:值1,键2:值2,…,键n:值n}dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}字典字典类型定义在字典变量中,通过键获得值字典变量={键1:值1,…,键n:值n}值=字典变量[键]字典变量[键]=值[]用来向字典变量中索引或增加元素dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}dict[Alice]'2341'dict['Tom']='4554'dict{'Alice':'2341','Beth':'9102','Cecil':'3258','Tom':'4554'}字典字典处理函数及方法字典字典处理函数及方法d={中国:北京,美国:华盛顿,法国:巴黎}中国indTrued.keys()dict_keys(['中国','美国','法国'])d.values()dict_values(['北京','华盛顿','巴黎'])字典字典处理函数及方法字典字典处理函数及方法d={中国:北京,美国:华盛顿,法国:巴黎}d.get(中国,伊斯兰堡)'北京'd.get(巴基斯坦,伊斯兰堡)'伊斯兰堡'd.popitem()('美国','华盛顿')字典字典类型应用场景-映射无处不在,键值对无处不在-例如:统计数据出现的次数,数据是键,次数是值-最主要作用:表达键值对数据,进而操作它们序列的拷贝序列的拷贝直接赋值:其实就是对象的引用(别名)浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象深拷贝(deepcopy):copy模块的deepcopy方法,完全拷贝了父对象及其子对象序列的拷贝序列的拷贝b=a:赋值引用,a和b都指向同一个对象。b=a.copy():浅拷贝,a和b是一个独立的对象,但他们的子对象还是指向统一对象(是引用)序列的拷贝序列的拷贝b=copy.deepcopy(a):深度拷贝,a和b完全拷贝了父对象及其子对象,两者是完全独立的序列的拷贝序列的拷贝importcopya=[1,2,3,4,['a','b']]#原始对象b=a#赋值,传对象的引用c=copy.copy(a)#对象拷贝,浅拷贝d=copy.deepcopy(a)#对象拷贝,深拷贝a.append(5)#修改对象aa[4].append('c')#修改对象a中的['a','b']数组对象print('a=',a)print('b=',b)print('c=',c)print('d=',d)Python程序设计3.1列表与元组3.2字典3.3集合Python程序设计集合类型定义集合操作符集合处理方法集合类型应用场景集合集合集合类型定义-集合类型与数学中的集合概念一致-集合元素之间无序,每个元素唯一,不存在相同元素-集合元素不可更改,不能是可变数据类型集合是多个元素的无序组合集合集合类型定义-集合用大括号{}表示,元素间用逗号分隔-建立集合类型用{}或set()-建立空集合类型,必须使用set()集合是多个元素的无序组合集合集合类型定义由于集合元素是无序的,集合的打印效果与定义顺序可以不一致。由于集合元素独一无二,使用集合类型能够过滤掉重复元素。set(x)函数可以用于生成集合S={425,BIT,(10,CS),424}S{424,425,(10,'CS'),'BIT'}W=set(‘apple’){'e','p','a','l'}V=set((cat,dog,tiger,human)){'cat','human','dog','tiger'}集合集合类型定义由于集合元素是无序的,集合的打印效果与定义顺序可以不一致。由于集合元素独一无二,使用集合类型能够过滤掉重复元素。set(x)函数可以用于生成集合S={425,BIT,(10,CS),424}S{424,425,(10,'CS'),'BIT'}W=set(‘apple’){'e','p','a','l'}V=set((cat,dog,tiger,human)){'cat','human','dog','tiger'}集合集合操作符集合集合操作符6个操作符集合集合操作符4个增强操作符集合集合操作符A={p,y,123}B=set(pypy123)A-B{123}B-A{'3','1','2'}A&B{'p','y'}A|B{'1','p','2','y','3',123}A^B{'2',123,'3','1'}集合集合处理方法集合集合处理方法集合集合的应用场景包含关系比较:pin{p,y,123}True数据去重:集合类型所有元素无重复ls=[p,p,y,y,123]s=set(ls)#利用了集合无重复元素的特点{'p','y',123}lt=list(s)#还可以将集合转换为列表['p','y',123]谢谢大家
本文标题:3Python组合数据类型(PPT57页)
链接地址:https://www.777doc.com/doc-25553 .html