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