版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1Python序列操作2.1序列及通用操作序列概述序列(Sequence)是Python中的重要数据结构,是通过某种方式组织在一起的数据元素的集合,例如对元素进行编号,这些数据元素可以是数字或者字符,也可以是其他数据结构。本章所介绍的序列主要包括列表(list)、元组(tuple)、字符串(string)、字典(dict)和集合(set)五种,范围(range)在第3章中进行介绍。22.1序列及通用操作序列的通用操作32.1序列及通用操作序列的通用操作42.1序列及通用操作序列的通用操作52.1序列及通用操作序列的通用操作62.1序列及通用操作序列切片序列实现切片操作的语法格式如下:
sname[start:end:step]其中,各个参数的含义分别是:
(1)sname:表示序列的名称;(2)start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为0,也就是从序列的开头进行切片;(3)end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;(4)step:表示在切片过程中,隔几个存储位置(包含当前位置)取一次元素,也就是说,如果step的值大于1,则在进行切片去序列元素时,会“跳跃式”的取元素。如果省略设置step的值,则最后一个冒号就可以省略。72.1序列及通用操作序列切片82.1序列及通用操作序列相加92.1序列及通用操作序列相乘102.1序列及通用操作检查元素是否包含或不包含在序列中112.1序列及通用操作检查元素是否包含或不包含在序列中122.1序列及通用操作和序列相关的内置函数132.1序列及通用操作142.2列表及操作列表及其创建从形式上看,列表将所有元素都放在一对中括号“[]”里面,相邻元素之间用逗号“,”分隔,如下所示:[element1,element2,element3,...,elementn]
格式中,element1~elementn表示列表中的元素,个数没有限制,只要是Python支持的数据类型就可以。152.2列表及操作列表及其创建从形式上看,列表将所有元素都放在一对中括号“[]”里面,相邻元素之间用逗号“,”分隔,如下所示:[element1,element2,element3,...,elementn]
格式中,element1~elementn表示列表中的元素,个数没有限制,只要是Python支持的数据类型就可以。162.2列表及操作列表及其创建从内容上看,列表可以存储整数、小数、字符串、列表、元组等任何类型的数据,并且同一个列表中元素的类型也可以不同,比如["Python中文编程",1,[2,3,4],3.0]可以看到,列表中同时包含字符串、整数、列表、浮点数这些数据类型。172.2列表及操作列表创建的2种方法(1)使用“[]”直接创建列表使用“[]”创建列表后,一般使用“=”将它赋值给某个变量,具体格式如下:listname=[element1,element2,element3,...,elementn]其中,listname表示变量名,element1~elementn表示列表元素。(2)使用list()函数创建列表除了使用“[]”创建列表外,Python还提供了一个内置的函数list(),使用它可以将其它数据类型转换为列表类型。182.2列表及操作192.2列表及操作202.2列表及操作列表通用操作212.2列表及操作删除列表对于已经创建的列表,如果不再使用,可以使用del关键字将其删除。del关键字的语法格式为:
dellistname其中,listname表示要删除列表的名称。222.2列表及操作删除列表232.2列表及操作append()方法添加元素append()方法用于在列表的末尾追加元素,该方法的语法格式如下:
listname.append(obj)其中,listname表示要添加元素的列表;obj表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。242.2列表及操作append()方法添加元素252.2列表及操作extend()方法添加元素extend()和append()的不同之处在于:extend()不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。extend()方法的语法格式如下:
listname.extend(obj)其中,listname指的是要添加元素的列表;obj表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。262.2列表及操作extend()方法添加元素272.2列表及操作insert()方法插入元素append()和extend()方法只能在列表末尾插入元素,如果希望在列表中间某个位置插入元素,那么可以使用insert()方法。insert()的语法格式如下:listname.insert(index,obj)其中,index表示指定位置的索引值。insert()会将obj插入到listname列表第index个元素的位置。282.2列表及操作del删除元素del可以删除列表中的单个元素,格式为:
dellistname[index]其中,listname表示列表名称,index表示元素的索引值。del也可以删除中间一段连续的元素,格式为:
dellistname[start:end]其中,start表示起始索引,end表示结束索引。del会删除从索引start到end之间的元素,不包括end位置的元素。292.2列表及操作del删除元素302.2列表及操作pop()删除元素用pop()方法用来删除列表中指定索引处的元素,具体格式如下:
listname.pop(index)其中,listname表示列表名称,index表示索引值。如果不写index参数,默认会删除列表中的最后一个元素,类似于数据结构中的“出栈”操作。312.2列表及操作322.2列表及操作remove()删除332.2列表及操作clear()删除列表所有元素342.2列表及操作列表修改元素(1)修改单个元素修改单个元素非常简单,直接对元素赋值即可。(2)修改一组元素Python支持通过切片语法给一组元素赋值。在进行这种操作时,如果不指定步长(step参数),Python就不要求新赋值的元素个数与原来的元素个数相同;这意味,该操作既可以为列表添加元素,也可以为列表删除元素。352.2列表及操作列表修改元素362.2列表及操作列表修改元素372.2列表及操作列表修改元素382.2列表及操作count()方法count()方法用来统计某个元素在列表中出现的次数,基本语法格式为:
listname.count(obj)其中,listname代表列表名,obj表示要统计的元素。如果count()返回0,就表示列表中不存在该元素,所以count()也可以用来判断列表中的某个元素是否存在。392.2列表及操作count()方法402.2列表及操作index()方法index()的语法格式为:
listname.index(obj,start,end)其中,listname表示列表名称,obj表示要查找的元素,start表示起始位置,end表示结束位置。start和end参数用来指定检索范围:
start和end可以都不写,此时会检索整个列表;
如果只写start不写end,那么表示检索从start到末尾的元素;如果start和end都写,那么表示检索start和end之间的元素。412.2列表及操作index()方法422.3元组及操作元组及其创建从形式上看,元组的所有元素都放在一对小括号“()”中,相邻元素之间用逗号“,”分隔,如下所示:(element1,element2,...,elementn)其中element1~elementn表示元组中的各个元素,个数没有限制,只要是Python支持的数据类型就可以。从存储内容上看,元组可以存储整数、实数、字符串、列表、元组等任何类型的数据,并且在同一个元组中,元素的类型可以不同。432.3元组及操作元组创建的2种方法(1)使用“()”直接创建通过“()”创建元组后,一般使用“=”将它赋值给某个变量,具体格式为:tuplename=(element1,element2,...,elementn)其中,tuplename表示变量名,element1~elementn表示元组的元素。442.3元组及操作元组及其创建452.3元组及操作元组创建的2种方法(2)使用tuple()函数创建元组tuple()的语法格式如下:tuple(data)其中,data表示可以转化为元组的数据,包括字符串、元组、range对象等。462.3元组及操作元组及其创建472.3元组及操作元组通用操作482.3元组及操作访问元组元素使用索引访问元组元素的格式为:
tuplename[i]其中,tuplename表示元组名字,i表示索引值。元组的索引可以是正数,也可以是负数。使用切片访问元组元素的格式为:
tuplename[start:end:step]其中,start表示起始索引,end表示结束索引,step表示步长。492.3元组及操作访问元组元素502.3元组及操作修改元组512.3元组及操作修改元组522.3元组及操作删除元组532.3元组及操作其他操作与方法542.3元组及操作“可变的”tuple元组552.3元组及操作“可变的”tuple元组562.4字符串及操作字符串的语法格式为:
strname[index]
式中,strname表示字符串名字,index表示索引值。Python允许从字符串的两端使用索引,符合序列的特点:(1)当以字符串的左端(字符串的开头)为起点时,索引是从0开始计数的;字符串的第一个字符的索引为0,第二个字符的索引为1,第三个字符串的索引为2……(2)当以字符串的右端(字符串的末尾)为起点时,索引是从-1开始计数的;字符串的倒数第一个字符的索引为-1,倒数第二个字符的索引为-2,倒数第三个字符的索引为-3……572.4字符串及操作获取多个字符格式为:
strname[start:end:step]
式中,strname是要截取的字符串;start表示要截取的第一个字符所在的索引(截取时包含该字符),如果不指定,默认为0,也就是从字符串的开头截取;end表示要截取的最后一个字符所在的索引(截取时不包含该字符),如果不指定,默认为字符串的长度;step指的是从start索引处的字符开始,每step个距离获取一个字符,直至end索引出的字符,step默认值为1,当省略该值时,最后一个冒号也可以省略。582.4字符串及操作获取多个字符592.4字符串及操作获取字符串长度或字节数
字符串的长度一般用len函数,其基本语法格式为:
len(string)
式中,string用于指定要进行长度统计的字符串。
字符串长度不等于字节数,后者需要使用encode()方法将字符串进行编码后再获取它的字节数。602.4字符串及操作获取多个字符612.4字符串及操作分割字符串split()方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来。该方法的基本语法格式如下:str.split(sep,maxsplit)
式中,str表示要进行分割的字符串;sep用于指定分隔符,可以包含多个字符,此参数默认为None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等;maxsplit是可选参数,用于指定分割的次数,最后列表中子串的个数最多为maxsplit+1,如果不指定或者指定为-1,则表示分割次数没有限制。622.4字符串及操作分割字符串632.4字符串及操作合并字符串join()方法的语法格式如下:newstr=str.join(iterable)
式中,newstr表示合并后生成的新字符串;str用于指定合并时的分隔符;iterable做合并操作的源字符串数据,允许以列表、元组等形式提供。642.4字符串及操作合并字符串652.4字符串及操作统计字符或字符串出现的次数count方法的语法格式如下:
str.count(sub[,start[,end]])
式中,str表示原字符串;sub表示要检索的字符串;start指定检索的起始位置,也就是从什么位置开始检测,如果不指定,默认从头开始检索;end指定检索的终止位置,如果不指定,则表示一直检索到结尾。662.4字符串及操作统计字符或字符串出现的次数672.4字符串及操作检测字符串中是否包含某子串(2种方法)find()方法的语法格式如下:
str.find(sub[,start[,end]])
式中,str表示原字符串;sub表示要检索的目标字符串;start表示开始检索的起始位置。如果不指定,则默认从头开始检索;end表示结束检索的结束位置。如果不指定,则默认一直检索到结尾。index()方法的语法格式如下:
str.index(sub[,start[,end]])
式中,str表示原字符串;sub表示要检索的子字符串;start表示检索开始的起始位置,如果不指定,默认从头开始检索;end表示检索的结束位置,如果不指定,默认一直检索到结尾。682.4字符串及操作检测字符串中是否包含某子串692.4字符串及操作检测字符串中是否包含某子串702.4字符串及操作字符串对齐ljust()方法的功能是向指定字符串的右侧填充指定字符,从而达到左对齐文本的目的,基本格式如下:S.ljust(width[,fillchar])
式中,S表示要进行填充的字符串;width表示包括S本身长度在内,字符串要占的总长度;fillchar作为可选参数,用来指定填充字符串时所用的字符,默认情况使用空格。rjust()和ljust()方法类似,唯一的不同在于,rjust()方法是向字符串的左侧填充指定字符,从而达到右对齐文本的目的,其基本格式如下:S.rjust(width[,fillchar])center()字符串方法与ljust()和rjust()的用法类似,但它让文本居中,而不是左对齐或右对齐,其基本格式如下:
S.center(width[,fillchar])712.4字符串及操作字符串对齐722.4字符串及操作字符串的其他方法title()方法用于将字符串中每个单词的首字母转为大写,其他字母全部转为小写,转换完成后,此方法会返回转换得到的字符串。
lower()方法用于将字符串中的所有大写字母转换为小写字母,转换完成后,该方法会返回新得到的字符串。如果字符串中原本就都是小写字母,则该方法会返回原字符串。upper()的功能和lower()方法恰好相反,它用于将字符串中的所有小写字母转换为大写字母,和以上两种方法的返回方式相同,即如果转换成功,则返回新字符串;反之,则返回原字符串。strip():删除字符串前后(左右两侧)的空格或特殊字符。lstrip():删除字符串前面(左边)的空格或特殊字符。rstrip():删除字符串后面(右边)的空格或特殊字符。732.5字典字典及其创建742.5字典字典及其创建752.5字典字典创建三种方式1.使用“{}”创建字典
由于字典中每个元素都包含两部分,分别是键(key)和值(value),因此在创建字典时,键和值之间使用冒号:分隔,相邻元素之间使用逗号,分隔,所有元素放在大括号{}中。
使用{}创建字典的语法格式如下:
dictname={'key':'value1','key2':'value2',...,'keyn':valuen}762.5字典字典及其创建772.5字典字典创建三种方式2.通过fromkeys()方法创建字典 Python中,还可以使用dict字典类型提供的fromkeys()方法创建带有默认值的字典,具体格式为:
dictname=dict.fromkeys(list,value=None)
其中,list参数表示字典中所有键的列表(list);value参数表示默认值,如果不写,则为空值None。可以看到,knowledge列表中的元素全部作为了scores字典的键,而各个键对应的值都是60。这种创建方式通常用于初始化字典,设置value的默认值。782.5字典字典及其创建792.5字典字典创建三种方式3.通过dict()映射函数创建字典
通过dict()函数创建字典时,可以向dict()函数传入列表或元组,而它们中的元素又各自是包含2个元素的列表或元组,其中第一个元素作为键,第二个元素作为值。802.5字典字典及其创建812.5字典访问字典822.5字典访问字典 get()方法的语法格式为:
dictname.get(key[,default])
其中,dictname表示字典变量的名字;key表示指定的键;default用于指定要查询的键不存在时,此方法返回的默认值,如果不手动指定,会返回None。832.5字典访问字典842.5字典删除字典852.5字典添加键值对为字典添加新的键值对很简单,直接给不存在的key赋值即可,具体语法格式如下:
dictname[key]=value
其中,dictname表示字典名称,key表示新的键,value表示新的值,只要是Python支持的数据类型都可以。862.5字典添加键值对872.5字典修改键值对882.5字典删除键值对892.5字典判断字典中是否存在指定键值对902.5字典keys()、values()和items()方法 keys()方法用于返回字典中的所有键(key); values()方法用于返回字典中所有键对应的值(value); items()用于返回字典中所有的键值对(key-value)。912.5字典copy()方法922.5字典update()方法932.5字典pop()和popitem()方法942.5字典setdefault()方法setdefault()方法用来返回某个key对应的value,其语法格式如下:
dictname.setdefault(key,defaultvalue)
说明,dictname表示字典名称,key表示键,defaultvalue表示默认值(可以不写,不写的话是None)。
当指定的key不存在时,setdefault()会先为这个不存在的key设置一个默认的defaultvalue,然后再返回defaultvalue。也就是说,setdefault()方法总能返回指定key对应的value:
(1)如果该key存在,那么直接返回该key对应的value;
(2)如果该key不存在,那么先为该key设置默认的defaultvalue,然后再返回该key对应的defaultvalue。952.5字典修改键值对962.6集合集合及其创建从形式上看,和字典
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版美容美发行业员工社会保险合同4篇
- 2025年度个人品牌重型机械抵押借款合同范本4篇
- 2025版企业新媒体营销策略执行合同3篇
- 2025年度美容院美容院店务管理与顾客服务合同4篇
- 2025年香港劳务派遣与人力资源共享服务合同3篇
- 基于物联网的智能农业管理系统2025年度委托开发合同
- 2025版停车场设施设备更新与改造合同范本2篇
- 2025年度餐饮业消防安全责任合同书3篇
- 退房时2025年度房屋损害赔偿协议3篇
- 2024版快递物流服务合同书
- 化学-河南省TOP二十名校2025届高三调研考试(三)试题和答案
- 智慧农贸批发市场平台规划建设方案
- 2023年水利部黄河水利委员会招聘考试真题
- Python编程基础(项目式微课版)教案22
- 半导体工艺用胶带全球市场、份额、市场规模、趋势、行业分析报告2024-2030年
- 建筑施工中常见的安全问题及解决方法
- 近五年重庆中考物理试题及答案2023
- 乳腺导管原位癌
- 冷库管道应急预案
- 《学习教育重要论述》考试复习题库(共250余题)
- 网易云音乐用户情感画像研究
评论
0/150
提交评论