Python程序设计课件 第5章 组合数据类型_第1页
Python程序设计课件 第5章 组合数据类型_第2页
Python程序设计课件 第5章 组合数据类型_第3页
Python程序设计课件 第5章 组合数据类型_第4页
Python程序设计课件 第5章 组合数据类型_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

组合数据类型字符串01创建方式在Python中,字符串可以通过单引号、双引号或三引号创建。单引号和双引号创建的字符串本质上相同,但当字符串内含有单引号时,使用双引号字符串可以避免转义。三引号字符串可以包含多行文本,适用于长文本的定义。引号规则单引号字符串与双引号字符串的主要区别在于对引号的处理。如果字符串中包含单引号,使用双引号字符串可以避免转义;反之亦然。三引号字符串则可以包含换行符和制表符,适合多行文本。合法字符串字符串可以包含数字、字母、中文字符、特殊符号以及不可见的控制字符。例如,'abc'、'123'、'大家'、'''123abc'''等都是合法的字符串。字符串创建与引号规则索引与切片字符串可以通过索引访问单个字符,索引从0开始。负索引从-1开始,从字符串末尾向前计数。切片操作通过[start:end:step]语法提取子字符串,start为起始索引,end为结束索引(不包含),step为步长。切片示例例如,'abcde'[1]返回'b','abcde'[1:4]返回'bc','abcde'[::-1]返回'edcba'。切片操作可以灵活地提取字符串的任意部分,是字符串处理中的常用技术。索引切片与字符提取01字符串更新字符串是不可变对象,不能直接修改。更新字符串实际上是创建一个新的字符串对象,并将其赋值给原变量。例如,通过切片和拼接可以实现字符串的部分替换。02序列运算字符串支持序列运算,如加法连接和乘法重复。例如,'hello'+'world'返回'helloworld','hello'*3返回'hellohellohello'。03内置函数len()函数返回字符串的长度,min()和max()函数分别返回字符串中的最小和最大字符。这些函数在字符串处理中非常实用。字符串更新与序列运算原始字符串使用'r'或'R'前缀可以定义原始字符串,原始字符串中的反斜杠不会被转义。例如,r'\n'表示一个包含反斜杠和'n'的字符串,而不是换行符。转义字符在字符串中,反斜杠'\'用于表示转义字符。例如,'\n'表示换行,'\t'表示制表符。转义字符用于在字符串中插入特殊字符或控制字符。转义字符与原始字符串format()方法format()方法通过大括号{}占位符将变量嵌入字符串。例如,'Hello,{}!'.format('world')返回'Hello,world!'。format()支持位置参数、关键字参数和索引参数。f-stringf-string是Python3.6引入的格式化字符串方法,通过在字符串前加'f',可以直接在大括号中嵌入变量或表达式。例如,f'Hello,{name}!'返回'Hello,world!'。f-string简洁高效。百分号占位符百分号占位符是Python早期的格式化方法,使用%s、%d、%f等符号。例如,'Hello,%s!'%'world'返回'Hello,world!'。虽然现在较少使用,但在一些旧代码中仍可能见到。格式化字符串三种方案字符串处理函数大全大小写转换字符串提供了多种大小写转换函数,如upper()将所有字符转换为大写,lower()将所有字符转换为小写,title()将每个单词的首字母转换为大写,swapcase()将大小写互换。查找与统计find()方法用于查找子字符串的起始位置,count()方法用于统计子字符串的出现次数。例如,'helloworld'.find('world')返回6,'helloworld'.count('o')返回2。分割与连接split()方法按指定分隔符将字符串分割为列表,join()方法将列表中的元素连接为字符串。例如,'helloworld'.split()返回['hello','world'],'-'.join(['hello','world'])返回'hello-world'。其他函数字符串还提供了其他函数,如isalnum()检测是否只包含字母和数字,isspace()检测是否只包含空白字符,len()获取字符串长度等。这些函数在字符串处理中非常实用。使用列表0201列表创建列表是Python中最基本的数据结构之一,使用中括号'[]'创建,元素之间用逗号分隔。例如,girl=['独立自信','乐观豁达','热爱生活','思想独立']创建了一个包含4个字符串的列表。02元素访问列表是有序的,可以通过索引访问元素。索引从0开始,例如girl[0]返回'独立自信'。列表支持正向索引和负向索引,负向索引从-1开始,从列表末尾向前计数。03切片操作列表支持切片操作,通过[start:end:step]语法提取子列表。例如,girl[1:3]返回['乐观豁达','热爱生活'],girl[::-1]返回['思想独立','热爱生活','乐观豁达','独立自信']。列表创建与元素访问

更新元素列表是可变对象,可以通过索引直接修改元素。例如,phone[0]='OPPO'将列表phone的第一个元素从'华为'修改为'OPPO'。修改后,列表的其他元素保持不变。动态特性列表具有动态特性,可以在运行时动态地添加、删除或修改元素。这种特性使得列表非常适合用于存储和处理动态数据。更新列表元素与动态特性insert()方法insert()方法可以在指定位置插入新元素。例如,car.insert(0,'长安汽车')在列表car的开头插入了'长安汽车'。insert()方法不会返回值,但会修改原列表。append()方法append()方法可以在列表末尾添加一个元素。例如,fruits.append('cherry')将'cherry'添加到列表fruits的末尾。extend()方法extend()方法可以将一个可迭代对象的元素逐个添加到列表末尾。例如,fruits.extend(['cherry','date'])将'cherry'和'date'添加到列表fruits的末尾。插入新元素三种方法clear()方法clear()方法可以清空列表中的所有元素,使列表变为空列表。例如,numbers.clear()清空了列表numbers。del语句del语句可以根据索引删除列表中的元素。例如,delcar[0]删除了列表car的第一个元素。使用del语句删除后,该元素无法再被访问。pop()方法pop()方法可以删除列表末尾的元素,并返回该元素的值。例如,girl.pop()删除了列表girl的最后一个元素,并返回该元素。remove()方法remove()方法可以根据值删除列表中的第一个匹配项。例如,fruits.remove('banana')删除了列表fruits中的第一个'banana'。删除元素的四种方式sort()方法sort()方法可以对列表中的元素进行永久性排序。例如,names.sort()将列表names中的元素按字母顺序排序。sort()方法没有返回值,但会修改原列表。01sorted()函数sorted()函数可以对列表中的元素进行临时排序,返回一个新的排序后的列表,原列表保持不变。例如,sorted(cars)返回一个新的按字母顺序排序的列表。reverse()方法reverse()方法可以将列表中的元素逆序排列。例如,cars.reverse()将列表cars中的元素从右至左依次排列存放。列表排序与顺序控制0203列表截取列表可以通过切片语法进行截取。例如,courses[:3]返回列表courses的前3个元素,courses[-3:]返回列表courses的后3个元素。运算符列表支持+和*运算符。+运算符用于组合两个列表,*运算符用于重复输出列表。例如,[1,2]+[3,4]返回[1,2,3,4],['Hi!']*3返回['Hi!','Hi!','Hi!']。列表嵌套列表可以嵌套,即在一个列表中可以包含其他列表。例如,x=[a,n]创建了一个嵌套列表,其中a和n是两个子列表。可以通过多级索引访问嵌套列表中的元素。迭代与成员检查可以使用for循环迭代列表中的元素,也可以使用in关键字检查某个元素是否存在于列表中。例如,forxin[1,2,3]可以迭代列表中的每个元素,3in[1,2,3]返回True。列表高级操作与嵌套使用元组03元组创建元组是Python中的一种不可变序列,使用小括号'()'创建,元素之间用逗号分隔。例如,tup1=('张三','李四',99,98)创建了一个包含4个元素的元组。不可变特性元组一旦创建,其内容不能被修改。这意味着不能添加、删除或修改元组中的元素。这种特性使得元组适合用于存储固定数据。单元素元组如果元组中只有一个元素,需要在元素后面添加逗号。例如,tup1=(50,)创建了一个包含单个元素50的元组。元组创建与不可变特性元组连接可以通过加号'+'连接两个元组,创建一个新的元组。例如,tup3=tup1+tup2将元组tup1和tup2连接成一个新的元组tup3。整体删除虽然不能删除元组中的单个元素,但可以使用del语句删除整个元组。例如,deltup删除了元组tup。元组连接与整体删除01内置方法元组提供了len()、max()、min()等内置方法。len()返回元组中元素的个数,max()返回最大值,min()返回最小值。元组内置方法与拆包02序列转换可以使用tuple()函数将其他序列(如列表)转换为元组。例如,tuple([1,2,3])返回(1,2,3)。03序列拆包可以将元组或序列分解为单独的变量。例如,p=(4,5),x,y=p将元组p中的元素分别赋值给x和y。04星号表达式在解包时,可以使用星号表达式让一个变量接收多个值。例如,first,*middle,last=nums将nums中的第一个元素赋值给first,最后一个元素赋值给last,中间的元素赋值给middle。使用字典04字典创建字典是Python中的一种无序数据结构,使用大括号'{}'创建,键值对之间用冒号分隔,每个键值对之间用逗号分隔。例如,dict={'数学':'99','语文':'98','英语':'97'}创建了一个包含3个键值对的字典。键值访问可以通过键访问字典中的值。例如,dict['数学']返回'99'。如果键不存在,将抛出KeyError异常。get()方法get()方法可以安全地访问字典中的值。如果键不存在,get()方法返回None,而不是抛出异常。例如,dict.get('Alice')返回None。字典创建与键值访问添加键值对可以通过直接赋值的方式向字典中添加新的键值对。例如,dict['物理']=100向字典dict中添加了一个新的键值对。修改键值可以通过直接赋值的方式修改字典中已有的键值。例如,dict['语文']=95将字典dict中'语文'的值修改为95。动态增改键值对01pop()方法pop()方法可以根据键删除字典中的键值对,并返回该键对应的值。例如,student.pop('gender')删除了字典student中的'gender'键值对。02popitem()方法popitem()方法可以删除字典中最后插入的键值对,并返回该键值对。例如,student.popitem()删除了字典student中最后插入的键值对。03clear()方法clear()方法可以清空字典中的所有键值对,使字典变为空字典。例如,student.clear()清空了字典student。删除与清空策略遍历值可以使用values()方法遍历字典中的所有值。例如,forvalueinfavorite_languages.values():可以遍历字典favorite_languages中的所有值。遍历键可以使用keys()方法遍历字典中的所有键。例如,forkeyinfavorite_languages.keys():可以遍历字典favorite_languages中的所有键。遍历键值对可以使用items()方法遍历字典中的所有键值对。例如,forkey,valueinfavorite_languages.items():可以遍历字典favorite_languages中的所有键值对。去重技巧如果需要去除字典中重复的值,可以使用集合。例如,set(favorite_languages.values())可以去除字典favorite_languages中重复的值。遍历键值与去重技巧使用集合05集合创建集合是Python中的一种无序不重复元素的序列,使用大括号'{}'或set()函数创建。例如,s1=set()创建了一个空集合,s2={1,2,3}创建了一个包含3个元素的集合。01唯一性集合中的元素必须是唯一的,重复的元素会被自动忽略。例如,s3={1,2,2,3}创建的集合中只包含1、2、3三个元素。成员测试可以使用in关键字测试某个元素是否存在于集合中。例如,3ins2返回True,表示3是集合s2的成员。集合创建与唯一性0203可以使用add()方法向集合中添加一个元素。例如,my_set.add(4)向集合my_set中添加了元素4。添加元素可以使用pop()方法随机删除集合中的一个元素,并返回该元素。由于集合是无序的,无法确定删除的是哪个元素。随机删除可以使用remove()方法删除集合中的一个指定元素。如果元素不存在,会抛出KeyError。例如,my_set.remove(3)删除了集合my_set中的元素3。删除元素可以使用clear()

温馨提示

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

评论

0/150

提交评论