3序列字符串列表_第1页
3序列字符串列表_第2页
3序列字符串列表_第3页
3序列字符串列表_第4页
3序列字符串列表_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章序列Chap3SequenceDepartmentofComputerScienceandTechnologyDepartmentofUniversityBasicComputerTeachingNanjingUniversity序列概述23.1序列分类3字符串列表集合元组

字典有序列表无序列表不可变序列可变序列序列中的元素,可以通过for循环语句进行遍历,称之为迭代。能够进行迭代的对象,称为可迭代对象序列的索引序列类型对象一般有多个成员组成,每个成员通常称为元素,有序序列每个元素都可以通过索引(index)进行访问(字典用键访问),索引用方括号“[]”表示。如:4sequence[index]序列的索引5week0123456'Monday''Tuesday''Wednesday''Thursday''Friday''Saturday''Sunday'-7-6-5-4-3-2-1访问模式元素从0开始通过下标偏移量访问一次可访问一个或多个元素索引的使用6>>>aList=['Mon.','Tues.','Wed.','Thur.','Fri.','Sat.','Sun.']>>>aList[1]'Tues.'>>>aList[-1]'Sun.'>>>aStr='apple'>>>aStr[1]'p'值比较7>>>'apple'<'banana'True>>>[1,3,5]!=[2,4,6]True>>>aList[1]=='Tues.'True>>>[1,'Monday']<[1,'Tuesday']True>>>['o','k']<('o','k')Traceback(mostrecentcalllast):File"<pyshell#0>",line1,in<module>['o','k']<('o','k')TypeError:unorderabletypes:list()<tuple()>>>[1,[2,3]]<[1,['a',3]]Traceback(mostrecentcalllast):File"<pyshell#1>",line1,in<module>[1,[2,3]]<[1,['a',3]]TypeError:unorderabletypes:int()<str()对象身份比较8>>>aTuple=('BA','TheBoeingCompany','184.76')>>>bTuple=aTuple>>>bTupleisaTupleTrue>>>cTuple=('BA','TheBoeingCompany','184.76')>>>aTupleiscTupleFalse>>>aTuple==cTupleTrue切片90123456切片操作的形式为:sequence[startindex:endindex]索引值切片10>>>aList=['Mon.','Tues.','Wed.','Thur.','Fri.','Sat.','Sun.']>>>aList[0:5]['Mon.','Tues.','Wed.','Thur.','Fri.']>>>aList[:5]['Mon.','Tues.','Wed.','Thur.','Fri.']>>>aList[5:7]['Sat.','Sun.']切片11注意:向前走步长需为正,向后走步长需为负,否则切片为空。>>>aList=['Mon.','Tues.','Wed.','Thur.','Fri.','Sat.','Sun.']>>>aList[-2:-1]['Sat.']>>>aList[-2:-3][]>>>aList[-2:]['Sat.','Sun.']>>>aList[:]['Mon.','Tues.','Wed.','Thur.','Fri.','Sat.','Sun.']切片12切片操作的另一种格式,可以选择切片操作时的步长:sequence[startindex:endindex:steps]0123456切片13>>>aList=['Mon.','Tues.','Wed.','Thur.','Fri.','Sat.','Sun.']>>>aList[1:6:3]['Tues.','Fri.']>>>aList[::3]['Mon.','Thur.','Sun.']>>>aList[::-3]['Sun.','Thur.','Mon.']>>>aList[5:1:-2]['Sat.','Thur.']重复14重复操作的形式为:sequence*copies>>>‘apple’

*3

#3*‘apple’也一样'appleappleapple'>>>(1,2,3)*2(1,2,3,1,2,3)>>>aTuple=(3,2,5,1)>>>aTuple*3(3,2,5,1,3,2,5,1,3,2,5,1)>>>['P'

,'y','t','h','o','n']*2['P','y','t','h','o','n','P','y','t','h','o','n']或者:copies*sequence连接15连接操作的形式为:sequence1+

sequence2>>>[1,2,3]+[4,5,6][1,2,3,4,5,6]>>>(1,2,3)+(4,5,6)(1,2,3,4,5,6)>>>'pine'+'apple''pineapple'>>>['t','h','e']+'apple'Traceback(mostrecentcalllast):File"<pyshell#2>",line1,in<module>['t','h','e']+'apple'TypeError:canonlyconcatenatelist(not"str")tolist判断成员16>>>aList=['Mon.','Tues.','Wed.','Thur.','Fri.','Sat.','Sun.']>>>'Mon.'

in

aListTrue>>>'week'

inaListFalse>>>'week'

notinaListTrue判断一个元素是否属于一个序列操作的形式为:objinsequenceobjnotinsequence序列类型函数17序列类型转换内建函数18list()tuple()>>>list('Hello,World!')['H','e','l','l','o',',','','W','o','r','l','d','!']>>>tuple("Hello,World!")('H','e','l','l','o',',','','W','o','r','l','d','!')>>>list((1,2,3))#必须为两层括号,意思是元祖转换成列表[1,2,3]>>>tuple([1,2,3])(1,2,3)序列类型其他常用内建函数19enumerate()len()reversed()sorted()max()sum()min()zip()>>>aStr='Hello,World!'>>>len(aStr)13>>>sorted(aStr)['','!',',','H','W','d','e','l','l','l','o','o','r']序列类型其他常用内建函数20>>>nList=[3,2,5,1]>>>sorted(nList)[1,2,3,5]>>>nList[3,2,5,1]序列类型其他常用内建函数21>>>nList=[3,2,5,1]>>>reversed(nList)<list_reverseiteratorobjectat0x0000018024361B70>>>>list(reversed(nList))[1,5,2,3]>>>nList[3,2,5,1]reversed()序列类型其他常用内建函数22>>>sum(['a','b','c'])Traceback(mostrecentcalllast):File"<pyshell#3>",line1,in<module>sum(['a','b','c'])TypeError:unsupportedoperandtype(s)for+:'int'and'str'>>>sum([1,2,3.5])6.5sum()序列类型其他常用内建函数23>>>aList=['Mon.','Tues.','Wed.','Thur.','Fri.','Sat.','Sun.']>>>max(aList)'Wed.'>>>max([1,2.5,3])3>>>max([1,5,3],[1,2.5,3])[1,5,3]>>>max([1,5,3,1],[1,9,3])[1,9,3]max()和min()字符串243.2字符串的表示形式25>>>aStr='TheBoeingCompany'>>>bStr="TheBoeingCompany">>>cStr='''TheBoeingcompany'''>>>aStr'TheBoeingCompany'>>>bStr'TheBoeingCompany'>>>cStr'TheBoeing\nCompany'单引号三引号双引号字符串的表示形式26单引号里可以有双引号,双引号里可以有单引号>>>dStr="I'mastudent.">>>dStr"I'mastudent.">>>eStr='"Nopain,Nogain."isagoodsaying.'>>>eStr'"Nopain,Nogains."isagoodsaying.'字符串的创建和访问——不可变27>>>hStr=‘’#单引号构成的空串>>>hStr''>>>testStr='hello'>>>testStr[0]='H'Traceback(mostrecentcalllast):File"<pyshell#4>",line1,in<module>testStr[0]='H'TypeError:'str'objectdoesnotsupportitemassignment常用转义字符28字符说明\t横向制表符\n换行\r回车\"双引号\'单引号\\反斜杠\(在行尾时)续行符\OOO八进制数OOO代表的字符\xXX十六进制数XX代表的字符>>>aStr='\101\t\x41\n'>>>bStr='\141\t\x61\n'>>>print(aStr,bStr)A Aa a字符串常用方法29>>>aStr='Python!'>>>aStr.center(11)'Python!'center()>>>bStr='Nopain,Nogain.'>>>bStr.count('no')0>>>bStr.count('No')2count()字符串常用方法30>>>bStr='Nopain,Nogain.'#逗号后面有一个空格!>>>bStr.find('No')0>>>bStr.find('no')-1>>>bStr.find('No',

3)9>>>bStr.find('No',3,10)-1>>>bStr.find('No',3,11)9find()字符串常用方法31>>>cStr='Hopeisagoodthing.'>>>cStr.replace("Hope",

'Love')'Loveisagoodthing.'replace()字符串常用方法32>>>'love'.join(['I','Python!'])'IlovePython!'>>>''.join(['Hello','World'])'HelloWorld'>>>'->'.join(('BA','TheBoeingCompany','184.76'))'BA->TheBoeingCompany->184.76'join()字符串常用方法33split()>>>'202011'.split()['2020','1','1']>>>dStr='Iamastudent'>>>dStr[:-1].split()['I','am','a','studen']>>>'2020.1.1'.split('.')['2020','1','1']列表343.3列表35BAC经典的序列类型可变的容器包含不同类型元素列表的创建36>>>aList=[]>>>pList=[1,'BA','TheBoeingCompany',184.76]>>>cList=[xforxin

range(1,10,2)]#cList=[1,3,5,7,9]>>>dList=list('Python')空括号赋值List内建函数列表解析中括号列表的创建37可扩展的容器对象包含不同类型对象>>>aList=list('hello.')>>>aList['h','e','l','l','o','.']>>>aList[0]='H'>>>aList['H','e','l','l','o','.']>>>bList=[1,2,'a',3.5]列表的创建aList=[1,2,3,4,5]names=['Zhao','Qian','Sun','Li']bList=[3,2,1,'Action']pList=[('AXP','AmericanExpressCompany','78.51'),('BA','TheBoeingCompany','184.76'),('CAT','CaterpillarInc.','96.39'),('CSCO','CiscoSystems,Inc.','33.71'),('CVX','ChevronCorporation','106.09')]38列表的操作39>>>pList=[('AXP','AmericanExpressCompany','78.51'),

('BA','TheBoeingCompany','184.76'),

('CAT','CaterpillarInc.','96.39'),

('CSCO','CiscoSystems,Inc.','33.71'),

('CVX','ChevronCorporation','106.09')]>>>pList[1]('BA','TheBoeingCompany','184.76')>>>pList[1][1]'TheBoeingCompany'列表的方法40>>>aList=[1,2,3]>>>aList.append(4)>>>aList[1,2,3,4]>>>aList.append([5,6])>>>aList[1,2,3,4,[5,6]]>>>aList.append('Python!')>>>aList[1,2,3,4,[5,6],'Python!']append()向列表添加元素>>>bList=[1,2,3]>>>bList.extend([4])>>>bList[1,2,3,4]>>>bList.extend([5,6])>>>bList[1,2,3,4,5,6]>>>bList.extend('Python!')>>>bList[1,2,3,4,5,6,'P','y','t','h','o','n','!']列表的方法41extend()用序列来扩展列表列表的方法42>>>bList=[1,2,3]>>>bList.extend(4)Traceback(mostrecentcalllast):File"<pyshell#7>",line1,in<module>bList.extend(4)TypeError:'int'objectisnotiterableextend()>>>a=[1,2,[3,4]]>>>b=a.copy()

#b=a[:]也是浅拷贝>>>b[1,2,[3,4]]>>>b[0],b[2][0]=5,5>>>b[5,2,[5,4]]>>>a[1,2,[5,4]]列表的方法43>>>b[2][0]isa[2][0]True>>>b[0]isa[0]Falsecopy()浅拷贝>>>import

copy#导入标准库>>>a=[1,2,[5,4]]>>>c=copy.deepcopy(a)>>>c[1,2,[5,4]]>>>c[0],c[2][0]=8,8>>>c[8,2,[8,4]]>>>a[1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论