内容正文:
《Python应用程序设计》
Python字符串的索引和分片
计算机教科组
1
字符串的表示
字符串的表示:
字符串的表示可以分为两类,一类是由一对单引号或者双引号表示单行字符串;另一类是用一对三单引号或者三双引号来表示多行字符串。
[注意]
(1 )单引号中可以使用双引号,中间的会当作字符串输出。
如print('"python"') #输出"python"
(2 )双引号中可以使用单引号,中间的会当作字符串输出。
如print("'python'") #输出'python'
字符串的表示
(3 )三单引号和三双引号中间的字符串在输出时保持原来的格式。
如
print("""
Hello
world
""")
输出:
Hello
world
(4)字符串默认以
作为结束标记。
索引
1.序列是有顺序的,可以根据字符在序列中的位置将其编号,字符在字符串中的位置称为“索引"。
2.在Python中,字符串中的字符是通过索引来提取的,从前往后索引从0开始。索引可以取负值,表示从末尾提取,最后一个为-1,倒数第二个为-2,即程序认为可以从结束处反向计数。
3.在Python中,不仅可以对单个字符建立索引,而且还可以对字符串中的子串建立索引。
4.Python中用索引运算符“[]"来提取字符串中的字符。
s="how are you"
print(s[2]) #w
print(s[-1]) #u
索引
若存取范围超过范围的索引位置(或空字符串中的索引位置 )会产生index out of range异常。
s="how"
print(s[4]) #报错,IndexError: string index out of range
索引课堂练习
下列代码运行结果是什么?
s='Python'
print(s[1])
print(s[-1])
要想获取字母t,索引值可以是( )或( )
分片格式:S[i:j]
表示选择S字符串中从索引位置i到索引位置j-1的子序列。
Python采用的是半开区间,半开区间包含范围的起始值,而不包含结束值。
i和j都可省略,即s[:]表示字符串原样输出。
'how are you'[4:]表达式指定的子序列从‘how are you’中索引为4的位置开始,到字符串结尾处为止。
分片格式:S[i:j]
分片格式:S[i:j]
'how are you'[:4]表达式指定的子序列从‘how are you’中索引为0的位置开始,到字符串索引为4的位置为止,但不包括索引值为4的字符。
单个索引越界会报错IndexError,分片索引越界不报错
>>> 'red'[1:5]
'ed'
分片格式:S[i:j:k]
表示选择S字符串中的字符,从索引位置i直到索引位置j-1,每隔k个字符索引一次,k为步长,默认为1。若省略i,则表示从起始位置开始索引;若省略j,则表示到结束位置为止。步长值指出了从原字符串中每隔多少个字符就取出值到子串中。
也可以使用负数作为步长,步长-1表示分片将会从右至左进行而不是通常的从左至右,实际效果主是将序列反转。
课堂练习
举例
s="Yello Montain"
print(s[1:8:1])
print(s[1:7:2])
print(s[2:7:2])
print(s[::3])
print(s[::-1])
print(s[::-2])
print(s[-3::-2])
课堂练习
s = "Python", 能够显示输出 Python 的选项是( )
A.print(s[0:-1]) B. print(s[-1:0]) C. print(s[:6]) D. print(s[1:])
s = 'the sky is blue',表达式 print(s[-4:], s[:-4]) 的结果是:
A. the sky is blue B. blue is sky the C. sky is blue the D. blue the sky is
下面代码的输出结果是( )
name = 'Python语言程序设计'
print(name[2:-2])
A.thon语言程序 B. thon语言程序设 C. ython语言程序 D. ython语言程序设
字符串的切片以及步长是负数
字符串[start:end:步长]
步长为负数,表示逆序截取, 需索引start>end, 否则取到的子字符串为空。
s = '0123456789'
print(s[:-5]) #01234
①start为空时,默认为正无穷.
例如s[