1、4、字符串和列表列表3.2 Python3.2 Python语言程序设计语言程序设计字符串字符串字符串是 Python 中最常用的数据类型。我们可以使用引号(或 )来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:var1=Hello World!var2=Runoob访问字符串中的值访问字符串中的值索引值以 0 为开始值,-1 为从末尾的开始位置。Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python 访问子字符串,可以使用方括号 来截取字符串,字符串的截取的语法格式如下:变量头下标:尾下标访问字符串中的值访问字符串中的值如下实例:var
2、1=Hello World!var2=Runoob print(var10:,var10)print(var21:5:,var21:5)以上实例执行结果:var10:Hvar21:5:unoo字符串更新字符串更新你可以截取字符串的一部分并与其他字段拼接,如下实例:var1=Hello World!print(已更新字符串:,var1:6+Runoob!)以上实例执行结果已更新字符串:Hello Runoob!转义字符转义字符在需要在字符中使用特殊字符时,python 用反斜杠 转义字符。转义字符描述实例(在行尾时)续行符 print(line1 .line2 .line3)line1 line
3、2 line3 反斜杠符号 print()单引号 print()双引号 print()a响铃 print(a)执行后电脑有响声。b退格(Backspace)print(Hello b World!)Hello World!转义字符描述实例000空 print(000)n换行 print(n)v纵向制表符 print(Hello v World!)Hello World!t横向制表符 print(Hello t World!)Hello World!f换页 print(Hello f World!)Hello World!字符串运算符字符串运算符下表实例变量 a 值为字符串 Hello,b 变量
4、值为 Python:操作符描述实例+字符串连接a+b 输出结果:HelloPython*重复输出字符串a*2 输出结果:HelloHello 通过索引获取字符串中字符a1 输出结果 e:截取字符串中的一部分,遵循左闭右开左闭右开原则,str0:2 是不包含第 3 个字符的。a1:4 输出结果 ellin成员运算符-如果字符串中包含给定的字符返回 TrueH in a 输出结果 Truenot in成员运算符-如果字符串中不包含给定的字符返回 TrueM not in a 输出结果 Truer/R原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。print(rn
5、)print(Rn)n字符串运算符字符串运算符a=Hellob=Pythonprint(a+b 输出结果:,a+b)print(a*2 输出结果:,a*2)print(a1 输出结果:,a1)print(a1:4 输出结果:,a1:4)if(H in a):print(H 在变量 a 中)else:print(H 不在变量 a 中)if(M not in a):print(M 不在变量 a 中)else:print(M 在变量 a 中)print(rn)print(Rn)输出结果为:a+b 输出结果:HelloPythona*2 输出结果:HelloHelloa1 输出结果:ea1:4 输出结
6、果:ellH 在变量 a 中M 不在变量 a 中nn字符串格式化字符串格式化Python 支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符%s 的字符串中。在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。实例:print(我叫%s 今年%d 岁!%(小明,10)以上实例输出结果:我叫 小明 今年 10 岁!字符串格式化字符串格式化 符号 描述%c 格式化字符及其ASCII码%s 格式化字符串%d 格式化整数%u 格式化无符号整型%o 格式化无符号八进制数%x 格式化无符号十六进制数%X 格式化无符号十
7、六进制数(大写)%f 格式化浮点数字,可指定小数点后的精度%e 用科学计数法格式化浮点数%E 作用同%e,用科学计数法格式化浮点数%g%f和%e的简写%G%f 和%E 的简写%p 用十六进制数格式化变量的地址python字符串格式化符号:字符串格式化字符串格式化格式化操作符辅助指令:符号功能*定义宽度或者小数点精度-用做左对齐+在正数前面显示加号(+)在正数前面显示空格#在八进制数前面显示零(0),在十六进制前面显示0 x或者0X(取决于用的是x还是X)0显示的数字前面填充0而不是默认的空格%输出一个单一的%(var)映射变量(字典参数)m.n.m 是显示的最小总宽度,n 是小数点后的位数(如
8、果可用的话)三引号三引号python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。实例如下实例:para_str=这是一个多行字符串的实例多行字符串可以使用制表符TAB(t)。也可以使用换行符 n。print(para_str)以上实例执行结果为:这是一个多行字符串的实例多行字符串可以使用制表符TAB()。也可以使用换行符 。f-stringf-stringf-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。之前我们习惯用百分号(%):实例实例 name=Runoob Hello%s%nameHello R
9、unoobf-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 包起来,它会将变量或表达式计算后的值替换进去,实例如下:实例 name=Runoob fHello name#替换变量Hello Runoob f1+2#使用表达式3 w=name:Runoob,url: fwname:wurlRunoob:用了这种方式明显更简单了,不用再去判断使用%s,还是%d。f-stringf-string在 Python 3.8 的版本中可以使用=符号来拼接运算表达式与结果:实例 x=1 print(fx+1)#Python 3.62 x=1 print(fx+1=)#Py
10、thon 3.8x+1=2Unicode Unicode 字符串字符串在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。在Python3中,所有的字符串都是Unicode字符串。字符串内建函数字符串内建函数序号 方法及描述1len(string)len(string)返回字符串长度2lower()lower()转换字符串中所有大写字符为小写.3max(str)max(str)返回字符串 str 中最大的字母。4min(str)min(str)返回字符串 str
11、中最小的字母。5str(str)返回一个字符串str列表列表序列是 Python 中最基本的数据结构。序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。Python 有 6 个序列的内置类型,但最常见的是列表和元组。列表都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型列表列表创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:list1=Googl
12、e,Runoob,1997,2000list2=1,2,3,4,5 list3=a,b,c,dlist4=red,green,blue,yellow,white,black访问列表中的值访问列表中的值与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。通过索引列表可以进行截取、组合等操作。访问列表中的值访问列表中的值实例list=red,green,blue,yellow,white,blackprint(list0)print(list1)print(list2)以上实例输出结果:redgreenblue访问列表中的值访问列表中的值索引也可以从尾部开始,最后一个元素的索引为
13、-1,往前一位为-2,以此类推访问列表中的值访问列表中的值实例list=red,green,blue,yellow,white,blackprint(list-1)print(list-2)print(list-3)以上实例输出结果:blackwhiteyellow访问列表中的值访问列表中的值使用下标索引来访问列表中的值,同样你也可以使用方括号 的形式截取字符,如下所示:访问列表中的值访问列表中的值实例nums=10,20,30,40,50,60,70,80,90print(nums0:4)以上实例输出结果:10,20,30,40实例 list=Google,Runoob,Zhihu,Taob
14、ao,Wiki#读取第二位print(list1:,list1)#从第二位开始(包含)截取到倒数第二位(不包含)print(list1:-2:,list1:-2)以上实例输出结果:list1:Runooblist1:-2:Runoob,Zhihu使用负数索引值截取:更新列表更新列表你可以对列表的数据项进行修改或更新,你也可以使用 append()方法来添加列表项,如下所示:实例list=Google,Runoob,1997,2000 print(第三个元素为:,list2)list2=2001print(更新后的第三个元素为:,list2)list1=Google,Runoob,Taobaol
15、ist1.append(Baidu)print(更新后的列表:,list1)以上实例输出结果:第三个元素为:1997更新后的第三个元素为:2001更新后的列表:Google,Runoob,Taobao,Baidu删除列表元素删除列表元素可以使用 del 语句来删除列表的的元素,如下实例:实例list=Google,Runoob,1997,2000 print(原始列表:,list)del list2print(删除第三个元素:,list)以上实例输出结果:原始列表:Google,Runoob,1997,2000删除第三个元素:Google,Runoob,2000列表脚本操作符列表脚本操作符列表
16、对+和*的操作符与字符串相似。+号用于组合列表,*号用于重复列表。如下所示:Python 表达式结果描述len(1,2,3)3长度1,2,3+4,5,61,2,3,4,5,6组合Hi!*4Hi!,Hi!,Hi!,Hi!重复3 in 1,2,3True元素是否存在于列表中for x in 1,2,3:print(x,end=)1 2 3迭代列表截取与拼接列表截取与拼接Python的列表截取与字符串操作类型,如下所示:L=Google,Runoob,TaobaoPython 表达式结果描述L2Taobao读取第三个元素L-2Runoob从右侧开始读取倒数第二个元素:count from the r
17、ightL1:Runoob,Taobao输出从第二个元素开始后的所有元素列表还支持拼接操作:squares=1,4,9,16,25 squares+=36,49,64,81,100 squares1,4,9,16,25,36,49,64,81,100嵌套列表嵌套列表使用嵌套列表即在列表里创建其它列表,例如:a=a,b,c n=1,2,3 x=a,n xa,b,c,1,2,3 x0a,b,c x01b列表列表函数函数序号函数1len(list)列表元素个数2max(list)返回列表元素最大值3min(list)返回列表元素最小值4list(seq)将元组转换为列表列表方法列表方法序号 方法1l
18、ist.append(obj)在列表末尾添加新的对象2list.count(obj)统计某个元素在列表中出现的次数3list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)4list.index(obj)从列表中找出某个值第一个匹配项的索引位置5list.insert(index,obj)将对象插入列表6list.pop(index=-1)移除列表中的一个元素(默认最后一个元素),并且返回该元素的值7list.remove(obj)移除列表中某个值的第一个匹配项8list.reverse()反向列表中元素9list.sort(key=None,reverse=False)对原列表进行排序10list.clear()清空列表11list.copy()复制列表