首页 第3章Python容器数据类型

第3章Python容器数据类型

举报
开通vip

第3章Python容器数据类型第3章Python容器数据类型除整型、浮点型和布尔型等基本类型外,Python还提供列表、元组、字典和集合等容器数据类型,容器数据可以容纳批量数据。这些容器数据类型又可分为序列类型、映射类型和集合类型。序列类型包括字符串、列表和元组等,它们的元素都是有序排列的,可以通过索引下标访问它们的元素。字典属于映射类型。映射类型的元素由键(key)和值(value)组成,简称“键值对”。在一个映射型的变量中,键是唯一的。集合类型变量中的元素是没有顺序的,且不允许出现重复的元素,类似数学中的集合。3.1列表列表(list)是P...

第3章Python容器数据类型
第3章Python容器数据类型除整型、浮点型和布尔型等基本类型外,Python还提供列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 、元组、字典和集合等容器数据类型,容器数据可以容纳批量数据。这些容器数据类型又可分为序列类型、映射类型和集合类型。序列类型包括字符串、列表和元组等,它们的元素都是有序排列的,可以通过索引下标访问它们的元素。字典属于映射类型。映射类型的元素由键(key)和值(value)组成,简称“键值对”。在一个映射型的变量中,键是唯一的。集合类型变量中的元素是没有顺序的,且不允许出现重复的元素,类似数学中的集合。3.1列表列表(list)是Python中最常用的序列类型。它由一系列元素(又称数据项)组成,所有元素都被包含在一对方括号“[]”中。列表中的元素可以是任何类型的数据,并且不需要所有元素具有相同的类型。列表具有如下特性:(1)列表中的元素类型可以相同,也可以不同。(2)每个列表元素都有索引和值两个属性,索引用于标识元素在列表中的位置,值指的是元素本身的值。序列类型的元素索引分为正索引和负索引两种情况(见图3.1)。正索引的索引值从0开始,在列表中从左向右依次递增1,因此最后一个元素的索引为元素个数-1。负索引的索引值从-1开始,在列表中从右向左依次递减1。一图3.1元素的正索引和负索引般情况下列表的索引是正索引。3.1.1创建列表和存取列表元素可以使用方括号“[]”创建一个列表对象,也可以使用函数list()创建一个列表对象。创建列表的代码格式是[元素1,元素2,…]或list(元素1,元素2,…)【例】列表的创建。In:lst=[]#创建空列表In:lstOut:[]In:list()#创建空列表Out:[]In:[12,3.0,'python']#列表元素的数据类型不相同Out:[12,3.0,'python']52Python程序设计基础In:list('python')#字符串中的每个字符成为列表中的一个元素Out:['p','y','t','h','o','n']3.1.2列表基本操作1.访问列表元素可以使用索引访问列表中的元素,其格式如下:列表对象[index]index:元素索引。【例】访问列表中的元素。(1)获取lst列表中索引为1的元素In:lst=[1,2,3]In:lst[1]Out:2(2)修改lst列表中索引为1的元素的值In:lst=[1,2,3]In:lst[1]=5#将索引为1的元素的值修改为5In:lstOut:[1,5,3]2.列表合并可以使用运算符“+”将两个列表合并在一起。【例】合并两个列表。In:[1,2]+[3,'abc']Out:[1,2,3,'abc']3.重复可以使用运算符“*”创建具有重复元素的列表。【例】创建元素“1,2”重复3次的列表。In:[1,2]*3Out:[1,2,1,2,1,2]4.迭代迭代操作可用于遍历列表中的元素。【例】迭代输出列表lst中的元素。In:lst=[1,2,3,4,5]In:forxinlst:print(x)123455.成员判断使用“in”操作符判断对象是否属于列表。【例】判断对象是否属于列表。第3章Python容器数据类型53In:2in[1,2,3]Out:TrueIn:5in[1,2,3]Out:False3.1.3列表常用函数Python提供了一系列处理列表对象的函数,可以对列表进行元素添加、删除、排序和反转等操作。表3.1列出了列表的常用函数。表3.1列表的常用函数函数名说明append(x)在尾部添加新元素xindex(x)返回x在列表中的索引位置,不含x将返回一个运行时错误count(x)统计指定元素值x出现的次数,不含x将返回0del对象[index]删除列表对象中索引为index的元素extend(lst)添加新列表insert(index,x)将x插入到列表的index位置len(lst)求列表长度pop()删除元素,并返回删除对象remove(x)删除元素xreverse()逆排列sort()排序【例】列表常用函数的应用。(1)在lst列表末尾添加元素In:lst=[1,2,3]In:lst.append(5)#末尾插入In:lstOut:[1,2,3,5]In:lst.index(1)#数据1在列表的第0个位置Out:0In:lst.index(4)#将报错,列表中不包含数据4ValueError:4isnotinlist(2)统计lst列表中元素值2出现的次数In:lst=[1,2,2,2,3]In:lst.count(2)#2出现了3次Out:3In:lst.count(4)#列表中不含数据4,返回0次Out:0(3)删除lst列表索引为1的元素In:lst=[1,2,3]In:dellst[1]In:lstOut:[1,3]54Python程序设计基础(4)将列表x中的元素添加到lst列表中In:lst=[1,2,3]In:x=[4,5]In:lst.extend(x)In:lstOut:[1,2,3,4,5](5)在lst列表索引为1的位置插入值为5的元素In:lst=[1,2,3]In:lst.insert(1,5)In:lstOut:[1,5,2,3](6)获取lst列表的长度(即列表元素的个数)In:lst=[1,2,3]In:len(lst)Out:3(7)删除lst列表指定索引位置的元素,并返回该删除元素;若没有指定索引,则删除列表末尾的元素In:lst=[1,2,3]In:lst.pop(1)Out:2In:lstOut:[1,3](8)删除lst列表中值为2的元素,如果有多个,那么只删除第一个In:lst=[1,2,2,3]In:lst.remove(2)In:lstOut:[1,2,3](9)将lst列表中的元素反转In:lst=[1,2,5,4]In:lst.reverse()In:lstOut:[4,5,2,1](10)对lst列表中的元素进行排序,若是数值型数据则按从小到大排序,若是字符串则按字典顺序排序。sort()函数的参数reverse=True时为逆序排序,默认为reverse=False升序排序In:lst=[1,4,3,5,2]In:lst.sort()#默认升序In:lstOut:[1,2,3,4,5]In:lst=[1,4,3,5,2]In:lst.sort(reverse=True)#参数reverse=True表示进行逆序排序In:lstOut:[5,4,3,2,1]注意上式不能写为lst=lst.sort(),因为lst.sort()执行后未返回新列表(返回值为None),若将None值赋给lst,则lst原来的数据就会丢失。lst.sort()方法直接改变原列表的顺序,如果排序时希望原列表不变,返回一个新的有序列表,那么可以借助sorted()函数。第3章Python容器数据类型55In:lst2=sorted(lst)#执行后lst不变,得到新的有序列表lst23.1.4切片列表的切片操作可以获得列表的多个元素。切片操作的基本格式如下:列表对象[start:end:step]start:索引开始位置,可以省略,默认为0。end:索引结束位置(不包括end),可以省略,默认为列表长度。step:步长,表示截取数据的步长,正数表示从左向右截取,负数表示从右向左截取,可以省略但不能为0,默认为1。【例】列表切片应用。In:lst=[1,2,3,4,5]In:lst[1:4]#截取列表lst中从索引1到索引3的元素Out:[2,3,4]In:lst[1:]#截取列表lst中从索引1到末尾的元素Out:[2,3,4,5]In:lst[:4]#截取列表lst中从开始到索引3的元素Out:[1,2,3,4]In:lst[1:4:2]#截取列表lst中从索引1到索引3,步长为2的元素Out:[2,4]In:lst[-4:-1]#截取列表lst中从索引-4到索引-2的元素Out:[2,3,4]In:lst[3:0:-1]#步长为负,从右向左截取列表lst中从索引3到索引1的元素Out:[4,3,2]In:lst[-2:-5:-1]#步长为负,从右向左截取列表lst中从索引-2到索引-4的元素Out:[4,3,2]3.1.5列表生成方式1.产生一个数值递增列表使用range()函数可以产生一个数值递增且可迭代操作的对象,基本格式如下:range(start,end,step)start:起始元素值,可以省略,默认为0。end:结束元素值(不包括end),不能省略。step:步长,正数表示数值递增,负数表示数值递减,可以省略但不能为0,默认为1。注意range(100)并未在内存中立即产生100个数,只是产生了一个可迭代对象,具体数据将在后续迭代过程中逐一产生,这样有利于节省内存。将range()函数产生的迭代对象作为列表创建函数list()的参数,可以产生一个数值递增的列表。【例】产生一个数值递增列表。In:it=range(1,5)#产生一个数值从1到4的迭代对象itIn:lst=list(it)#以迭代对象为参数创建列表In:lstOut:[1,2,3,4]2.产生多维列表多维列表可视为列表中嵌套的列表。例如,二维列表可视为每个元素都是一维列表的列表,三维列表可视为每个元素都是二维列表的列表。56Python程序设计基础【例】创建一个二维列表。In:lst=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]此时,二维列表lst的内容如下所示,每行是一个一维列表:123456789101112多维列表的维数是从0开始的。例如,二维列表有第0维和第1维,分别对应于行和列。访问多维列表中的元素时,使用的命令格式如下:列表对象[row][col]…其中第一个“[]”为列表的第0维,第二个“[]”为第1维,以此类推。【例】多维列表的访问。In:lst=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]In:lst[1][2]#获取第0维索引为1,第1维索引为2的数据Out:7In:lst[1]#获取第0维索引为1的数据,是一个一维列表Out:[5,6,7,8]3.列表生成式Python的列表还可以用其特有的列表生成式语法产生。列表生成式的一般格式如下:新列表对象=[表达式for变量in可迭代对象]它表示从可迭代对象中取得变量的值,将变量代入表达式计算得到新值,由这些新值构成新的列表。是可选的,如果设有筛选条件,那么满足条件的变量值才能加入新列表。In:lst=list(range(5))In:lstOut:[0,1,2,3,4]In:lst2=[x**2forxinlst]#列表生成式,将lst列表中的每个元素平方,得到列表lst2In:lst2Out:[0,1,4,9,16]In:lst3=[xforxinlst2ifxnotinlst]#抽取在lst2中但不在lst中的元素得到列表lst3In:lst3Out:[9,16]In:[xforxinrange(20)ifx%3==0]#[0,20]内的3的倍数Out:[0,3,6,9,12,15,18]3.2元组元组(tuple)是用一对圆括号“()”定义的序列。元组中的元素值自元组创建后就不能修改。元组中的元素数据类型可以相同,也可以不相同。3.2.1创建元组和存取元组元素1.创建元组可以使用圆括号“()”定义创建一个元组对象,也可以使用函数tuple()创建一个元组对象。第3章Python容器数据类型57元组创建的格式如下:(元素1,元素2,…)#()可省略或tuple(可迭代对象)#可迭代对象:字符串、列表、元组、字典、集合等【例】创建三个元素的元组。In:tpl=(1,2,3)#使用“()”创建元组In:tplOut:(1,2,3)In:tpl2=tuple([1,2,3])#使用tuple()函数创建元组,参数为列表对象In:tpl2Out:(1,2,3)In:it=range(1,5)#产生可迭代对象In:tpl=tuple(it)#使用tuple()函数创建元组,参数为可迭代对象In:tplOut:(1,2,3,4)2.索引和切片元组的索引和切片操作与列表的索引和切片操作非常相似。【例】元组的索引操作和切片操作。(1)访问元组tpl中索引为1的元素In:tpl=(1,2,3)In:tpl[1]Out:2(2)截取元组tpl中从索引位置1到索引位置3的元素In:tpl=(1,2,3,4,5)In:tpl[1:4]Out:(2,3,4)3.其他操作在Python中,元组的其他操作,如求元组的长度、合并、重复、迭代、成员判断等,也与列表的对应操作类似。【例】元组的操作。(1)元组求长度In:tpl=(1,2,3)In:len(tpl)Out:3(2)合并两个元组In:(1,2,3)+(4,5)Out:(1,2,3,4,5)需要注意的是,由于元组中的元素是不能增删的,因此合并元组不是在已有的元组中添加元素,而是产生一个新元组,新元组与已有元组在内存中是独立的。58Python程序设计基础(3)重复,创建一个元素“1,2”重复3次的元组In:(1,2)*3Out:(1,2,1,2,1,2)(4)迭代元组中的所有元素In:tpl=(1,2,3)In:forxintpl:print(x)123(5)判断对象是否为元组中的元素In:2in(1,2,3)Out:TrueIn:5in(1,2,3)Out:False(6)统计tpl元组中元素值2出现的次数In:tpl=(1,2,2,2,3)In:tpl.count(2)Out:33.2.2元组和列表的差异元组一旦创建,其中的元素就不可修改。元组也不能增加或删除元素。因为元组结构简单,所以元组占用的内存比列表占用的内存少,如果待处理的数据多用于查询,无须修改,那么可以考虑用元组存储。另外,由于元组是不可修改的,在函数调用或返回函数值时可考虑传递元组,以避免参数被误修改。In:tpl=(1,2,3)In:tpl[0]=100#将报错,元组中的元素不可修改TypeError:'tuple'objectdoesnotsupportitemassignmentIn:tpl.append(4)#将报错,元组不支持append()方法AttributeError:'tuple'objecthasnoattribute'append'虽然不可以直接修改元组中的元素,但如果需要改变元组中的元素,那么可以先将元组转换为列表,然后对列表进行修改,再将修改好的列表转换为新的元组。列表和元组相互转换的函数是tuple(lst)和list(tpl)。【例】将tpl元组中索引位置1的值由2改为5。In:tpl=(1,2,3)In:lst=list(tpl)#将元组转换为列表In:lst[1]=5In:tpl=tuple(lst)#将列表转换为元组In:tplOut:(1,5,3)3.2.3序列操作函数针对列表和元组等序列类型,Python提供了一些实用的序列操作函数,如表3.2所示。第3章Python容器数据类型59表3.2常用的序列操作函数函数名功能all(seq)判断序列对象的每个元素是否都为逻辑真值,返回True或Falseany(seq)判断序列对象是否有逻辑真值的元素,返回True或False返回从start(默认值为0)开始,到stop结束(不包括stop)的可迭代对象,step为range(start,stop[,step])步长(默认值为1)reversed()反转序列,返回可迭代对象sorted(iter)对序列对象iter进行排序,返回一个有序列表zip(iter1[,iter2,…])将多个迭代对象相同位置的元素聚合成元组,返回一个以元组为元素的可迭代对象【例】常用的序列操作函数。In:all([1,2,'Python'])#非0元素对应布尔值True,本例所有元素都对应TrueOut:TrueIn:all([0,1,2,'Python'])#0对应的布尔值为FalseOut:FalseIn:any([0,1,2,'Python'])Out:TrueIn:lst=[3,2,5,4]In:sorted(lst)#排序Out:[2,3,4,5]In:r=reversed(lst)#反转,生成可迭代对象In:list(r)#由可迭代对象创建列表Out:[4,5,2,3]In:z=zip(['a','b','c'],[1,2,3])#产生一个以两个列表元素聚合成元组的新迭代对象In:list(z)#由可迭代对象创建列表Out:[('a',1),('b',2),('c',3)]3.3字典字典(dict)可视为键值对构成的数据容器。搜索字典中的元素时,首先查找键,然后根据找到的键获取对应的值。这是一种高效、快速的查找方法。字典中的键必须是唯一的。3.3.1创建字典和存取键值对1.创建字典可以使用标记“{}”创建一个字典对象,也可以使用函数dict()创建一个字典对象。字典中的每个元素都包含键和值两部分内容,创建字典时,键和值用冒号“:”隔开,字典的元素之间用逗号“,”分开。创建字典的格式如下:{键1:值1,键2:值2,…}或dict(键1=值1,键2=值2,…)【例】创建字典。In:di={}#空字典In:di60Python程序设计基础Out:{}In:dict()#空字典Out:{}In:di={'学号':'001','姓名':'zhangsan','年龄':19}In:diOut:{'学号':'001','姓名':'zhangsan','年龄':19}2.字典的访问字典中元素的访问是通过键获取相应的值。访问字典元素的格式如下:字典对象[key]#key:字典中元素的键【例】访问字典中的元素。In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:dct['姓名']#通过键取值Out:'zhangsan'In:dct['001']#将报错,不能直接取出值。字典中没有名为'001'的键KeyError:'001'3.添加和修改字典元素添加和修改字典元素的格式如下:字典对象[key]=valuekey:元素的键。value:元素的值。如果字典中不存在key键,那么在字典中添加一个key:value的元素,如果字典中存在key键,那么将字典中key键对应的值修改为value值。【例】添加、修改字典元素。In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:dct['性别']='男'#在字典中添加键为“性别”,值为“男”的数据In:dctOut:{'学号':'001','姓名':'zhangsan','年龄':19,'性别':'男'}In:dct['年龄']=20#修改字典中“年龄”的值为20In:dctOut:{'学号':'001','姓名':'zhangsan','年龄':20,'性别':'男'}3.3.2字典的常用方法Python提供了许多专门处理字典对象的函数,表3.3列出了其中比较常用的函数。表3.3字典常用函数函数名说明clear()清除字典中的所有元素copy()复制整个字典del对象[key]删除字典中键为key的元素get(key,default)返回键key对应的值,如果字典中不存在key键,那么返回defaultitems()返回所有键值对第3章Python容器数据类型61(续表)函数名说明keys()返回所有键values()返回所有值update(dct)使用dct字典数据更新当前字典pop(key,default)返回键key对应的值,并删除该元素,若字典中不存在key键,则返回default【例】字典常用函数的应用。(1)清除字典对象中的所有元素In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:dct.clear()In:dctOut:{}(2)复制字典对象dctIn:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:d=dct.copy()In:dOut:{'学号':'001','姓名':'zhangsan','年龄':19}(3)删除字典对象中的元素In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:deldct['年龄']In:dctOut:{'学号':'001','姓名':'zhangsan'}(4)获得字典对象中键对应的值In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:dct.get('年龄')#获取字典中键为“年龄”的值Out:19In:dct.get('性别','男')#字典中无“性别”键,默认返回“男”Out:'男'(5)获得字典对象中键对应的值,并删除该元素In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:dct.pop('年龄')#返回字典中键为“年龄”的值,并删除该元素Out:19In:dctOut:{'学号':'001','姓名':'zhangsan'}(6)获得字典对象中的所有键In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:dct.keys()#获取字典中的所有键Out:dict_keys(['学号','姓名','年龄'])(7)获得字典对象中的所有值In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:dct.values()#获取字典中的所有值dict_values(['001','zhangsan',19])(8)获得字典对象中的所有键值对In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:dct.items()#获取字典中的所有键值对62Python程序设计基础Out:dict_items([('学号','001'),('姓名','zhangsan'),('年龄',19)])(9)更新字典dct中的元素In:dct={'学号':'001','姓名':'zhangsan','年龄':19}In:d={'学号':'002','年龄':20}In:dct.update(d)#根据字典d中的数据修改字典dctIn:dctOut:{'学号':'002','姓名':'zhangsan','年龄':20}3.4集合集合(set)是由0个或多个元素构成的无序组合,集合中的元素不允许重复。集合是可变的,即可以添加或删除集合中的元素。集合不支持索引操作。3.4.1创建集合可以使用标记“{}”创建一个集合对象,也可以使用函数set()创建一个集合对象。集合中的元素用逗号“,”分隔。与字典中的每个元素都包含键和值两部分内容不同,集合中的每个元素只有值,没有键。创建集合的格式如下:{元素1,元素2,…}或set(可迭代对象)【例】创建集合。In:set()#创建空集合Out:set()In:{'C++','Java','Python'}#创建3个元素的集合Out:{'Java','C++','Python'}#集合元素是无序的,此处的显示顺序和创建顺序不一致In:set(['C++','Java','Python'])#以列表为参数,创建3个元素的集合Out:{'Java','C++','Python'}In:set([1,1,3,3,5,5,5])#集合不允许重复元素,所以可以利用集合快速去重Out:{1,3,5}创建空集合只能使用set()函数而不能使用“{}”方式,因为“{}”创建的是空字典而不是空集合。3.4.2遍历集合由于集合中的元素没有索引的属性,同时也没有像字典中“键值对”的对应关系,因此无法直接获取集合中的指定元素,只能通过迭代来遍历集合中的所有元素。【例】遍历集合s。In:s={'C++','Java','Python'}In:forxins:print(x)#输出的顺序可能和创建时的顺序不一致PythonJavaC++第3章Python容器数据类型633.4.3集合操作函数Python提供了一系列对集合对象进行各种操作的函数。表3.4列出了常见的集合操作函数。表3.4常见的集合操作函数函数名说明add(x)添加元素,若集合中不存在元素x,则添加clear()清除所有元素copy()复制整个集合len(s)返回集合s的元素个数pop()随机返回集合中的一个元素,并删除该元素remove(x)删除元素x,若集合中不存在x,则报错discard(x)删除元素x,即使x不存在也不报错update(s)将另一个集合的元素添加进来【例】集合操作的常用函数的应用。(1)向集合中添加元素In:s={'C++','Java','Python'}In:s.add('PHP')In:sOut:{'PHP','Java','C++','Python'}(2)删除集合中的元素In:s={'C++','Java','Python'}In:s.remove('Java')#使用remove()函数删除元素In:sOut:{'C++','Python'}In:s.remove('Java')#再次删除,集合中已无Java元素将报错KeyError:'Java'In:s.discard('Java')#使用discard()删除,无Java元素也不报错(3)清除集合中的所有元素In:s={'C++','Java','Python'}In:s.clear()#使用clear()函数清除元素后的集合为空集合In:sOut:set()(4)复制整个集合In:s={'C++','Java','Python'}In:x=s.copy()In:xOut:{'Java','C++','Python'}(5)将集合t中的元素添加进来In:s={'C++','Java','Python'}In:t={'PHP','C++'}In:s.update(t)#根据集合t的数据更新集合s的元素In:sOut:{'PHP','C++','Java','Python'}64Python程序设计基础(6)随机返回集合中的一个元素In:s={'C++','Java','Python'}In:s.pop()#随机返回一个元素,并在集合中删除该元素Out:'Java'In:sOut:{'C++','Python'}(7)获取集合元素个数In:s={'C++','Java','Python'}In:len(s)Out:33.4.4集合运算:并、交、差与数学中的集合概念一样,Python中的集合也支持两个集合的并集、交集、差集等各种运算。常见的集合运算符如表3.5所示。表3.5常见的集合运算符运算符说明S&T交集,返回一个由两个集合S和T中都存在的元素构成的集合S|T并集,返回一个包含了两个集合S和T中的所有元素的集合S-T差集,返回一个由在集合S中存在但在集合T不存在的元素构成的集合S^T对称差集,返回一个由不在集合S和集合T中同时存在的元素构成的集合S==T集合S和集合T中的元素相同返回True,否则返回FalseS!=T集合S和集合T中的元素不相同返回True,否则返回FalseS<=T子集测试,集合S是集合T的子集返回True,否则返回FalseS=T超集测试,集合S是集合T的超集返回True,否则返回FalseS>T真超集测试,集合S是集合T的真超集返回True,否则返回False【例】常见的集合运算符的应用。In:s={10,20,30}In:t={20,30,40}In:s&t#交集Out:{20,30}In:s|t#并集Out:{20,40,10,30}In:s-t#差集Out:{10}In:s^t#对称差集Out:{40,10}In:s==t#判断集合元素是否相同Out:FalseIn:s!=t#判断集合元素不相同Out:TrueIn:s={10,20,30}In:t={10,20}第3章Python容器数据类型65In:s>t#真超集测试Out:TrueIn:sB.C.D.6.代码len({1,2,2,2,3,4,5})的运算结果是()A.1B.3C.5D.87.下列关于列表的说法中,错误的是()A.list是一个有序集合,可以添加或删除元素B.list是不可变的数据类型C.list可以存放任意类型的元素D.使用list时,索引可以是负数二、简答题1.简述列表的特性。2.简述元组的特性。3.简述字典的特性。4.简述集合的特性。5.列表和元组两种序列结构有何区别?6.列表、元组、字典和集合分别用什么符号或函数创建?7.集合运算符&、|、-、^、>=和<=分别表示什么运算?三、程序题1.输出列表lst=[1,2,1,12,10,5,2,7,1,8]中不重复的元素,并统计数据个数。2.假设两个元组x=(1,3,2)和y=(5,9,4,7),将两个元组的数据合并再并按从小到大的顺序排序。3.假设两个集合a={1,2,3,4,5}和b={2,4,6},找出属于集合a但不属于集合b的元素。4.使用字典保存学生姓名和对应成绩,输出所有学生姓名,并找出某个学生的成绩。
本文档为【第3章Python容器数据类型】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
is_090281
常年从事设计、施工及相关教育工作,一线工作经验丰富。
格式:pdf
大小:423KB
软件:PDF阅读器
页数:0
分类:
上传时间:2021-06-20
浏览量:33