python中字符串的使用01字符串切片
字符串指一系列的字符,在python中,使用引号括起来的就是字符串,引号可以是单引号,也可以是双引号。在python中可以对字符串进行:字符串切片、字符串合并、字符串查找、字符串替换、修改字符串大小写、字符串对齐、使用换行符或制表符添加空白、删除空白、对字符串判断等操作。
1.1、字符串的切片完整写法
字符串切片:字符串切片的目的是选取字符串中的某一个片段。
基本语法:
字符串名称[开始下标: 结束下标: 步长]
开始下标:字符串开始切片的位置
结束下标:字符串停止切片的位置
步长:从开始下标到下一个字符之间的距离,步长为几,下标每次移动几位
在python中的运用:
tr1 = '0123456789' # 创建字符串
s1 = str1[0: 5: 2] # 字符串切片的完整写法
# 输出结果
print(s1) # 024
运行之后的结果:
024
1.2字符串切片参数为正数并且省略参数
字符串切片参数为正数并且省略参数
1、省略开始下标:当开始下标省略时,字符串开始下标默认为0。即字符串从下标为0的位置开始到结束下标以步长进行切片。
2、省略结束下标:当结束下标省略时,字符串结束下标默认为字符串长度。即字符串从开始下标开始到字符串末尾结束以步长进行切片。
3、省略步长:当步长省略时,字符串步长默认为1。即字符串从开始下标开始到结束下标结束以步长为1进行切片。
4、省略开始下标和结束下标:当省略开始下标和结束下标时,开始下标默认为0,结束下标默认为字符串长度。即字符串从下标为0的位置开始到字符串末尾以步长进行切片。
5、省略开始下标和步长:当省略开始下标和步长时,开始下标默认为0,步长默认为1。即字符串从下标为0的位置开始到结束下标以步长为1进行切片
6、省略结束下标和步长:当省略结束下标和步长时,结束下标默认为字符串长度,步长默认为1。即字符串从开始下标开始到字符串末尾以步长为1进行切片。
7、省略开始下标、结束下标和步长:当省略开始下标、结束下标和步长时,开始下标默认为0,结束下标默认为字符串长度、步长为1,。即字符串从下标为0的位置开始到字符串末尾以步长为1进行切片,也就是输出整个字符串。
注意:当省略步长时括号中可以省略步长前的冒号。
基本语法:
# 字符串切片参数为正数并且省略参数
# 省略一个参数
字符串名称[ : 结束下标: 步长] # 省略开始下标
字符串名称[开始下标: : 步长] # 省略结束下标
# 省略步长
字符串名称[开始下标: 结束下标: ]
字符串名称[开始下标: 结束下标] # 省略步长前面的冒号
省略两个参数
字符串名称[ : : 步长] # 省略开始下标和结束下标
# 省略开始下标和步长
字符串名称[: 结束下标: ]
字符串名称[ : 结束下标] # 省略步长前面的冒号
# 省略结束下标和步长
字符串名称[开始下标: : ]
字符串名称[开始下标:] # 省略步长前面的冒号
# 省略三位参数
# 省略开始下标、结束下标和步长
字符串名称[ : : ]
字符串名称[ : ] # 省略步长前面的冒号
在python中的运用
str1 = '0123456789' # 创建字符串
# 省略参数
# 省略一位参数
s2 = str1[: 5: 2] # 省略开始下标
s3 = str1[0: : 2] # 省略结束下标
# 省略步长
s4 = str1[0: 5: ]
s5 = str1[0: 5] # 省略步长前面的冒号
# 省略两位参数
s6 = str1[: : 2] # 省略开始下标和结束下标
# 省略开始下标和步长
s7 = str1[: 5:]
s8 = str1[: 5] # 省略步长前的冒号
# 省略结束下标和步长
s9 = str1[0: : ]
s10 = str1[0: ] # 省略步长前的冒号
# 省略3位参数
s8 = str1[: : ] # 省略开始下标、结束下标、步长
# 参数中有负数的情况
# 参数中有一位负数的情况
ss1 = str1[-9: 5: 1] # 开始下标为负数
ss2 = str1[0: -5: 1] # 结束下标为负数
ss3 = str1[5: 0: -1] # 步长为负数
# 参数中有两位负数的情况
ss4 = str1[-5: -1: 1] # 开始下标和结束下标为负数
ss5 = str1[-5: 0: -1] # 开始下标和步长为负数
ss6 = str1[10: -5: -1] # 结束下标和步长为负数
# 参数中有三位负数的情况
ss7 = str1[-5: -10: -1] # 开始下标、结束下标、步长为负数
# 参数中有负数并且省略参数的情况与参数为正数并且省略参数的情况相同
# 输出结果
print(s1) # 024
print(s2) # 024
print(s3) # 02468
print(s4) # 01234
print(s5) # 01234
print(s6) # 02468
print(s7) # 01234
print(s8) # 0123456789
print(s9) # 0123456789
print(s10) # 0123456789
运行之后的结果
024
024
02468
01234
01234
02468
01234
0123456789
0123456789
0123456789
1.3字符串切片参数为负数
字符串切片参数为负数:当开始下标和结束下标为负数时表示从右边数起参数(绝对值)个位置,步长为负数时表示从右边开始以步长参数(绝对值)进行切片。
1、开始下标为负数:当开始下标为负数时,开始位置相当于字符串长度加开始坐标的参数。如开始坐标为-8,字符串长度为10,则开始坐标相当于2。即字符串从开始坐标为字符串长度加开始坐标参数的位置开始到结束坐标以步长进行切片。注意字符串长度加开始坐标参数必须小于结束坐标的参数,否则切片出来的为空集。
2、结束下标为负数:当结束下标为负数时,结束位置相当于字符串长度加结束下标的参数。如结束坐标为-1,字符串长度为10,则结束坐标相当于9。即字符串从开始坐标开始到字符串长度加结束坐标参数的位置以步长进行切片。注意字符串长度加结束坐标参数必须大于开始坐标的参数,否则切片出来的为空集。
3、步长为负数:当步长为负数时,下标是从右边向左边以步长进行移动。如步长为-2表示下标从开始下标位置每次向右移动2位。即字符串从开始下标到结束下标以步长向右进行切片。注意开始下标必须大于结束下标,否则切片出来的为空集。
’4、开始下标和结束下标为负数:当开始下标和结束下标为负数时,开始位置为字符串长度加开始下标,结束位置为字符串长度加结束下标。即字符串从字符串长度加开始下标的位置开始到字符串长度加结束下标的位置以步长进行切片。注意字符串长度加开始下标必须小于字符串长度加结束下标,否则切片出来的为空集。
5、开始下标和步长为负数:当开始下标和步长为负数时,开始位置为字符串长度加开始下标,下标是从右边向左边以步长进行移动。即字符串从字符串长度加开始下标的位置到结束下标以步长向右进行切片。注意字符串长度加开始下标必须大于结束下标,否则切片出来的为空集。
6、结束下标和步长为负数:当结束下标和步长为负数时,结束位置相当于字符串长度加结束下标的参数,下标是从右边向左边以步长进行移动。即字符串从开始下标到字符串长度加结束下标以步长向右移动。注意开始下标必须大于字符串长度加结束下标,否则切片出来的为空集。
7、开始下标、结束下标和步长为负数:当开始下标、结束下标和步长为负数时,开始位置为字符串长度加开始下标,结束位置相当于字符串长度加结束下标的参数,下标是从右边向左边以步长进行移动。即字符串从字符串长度加开始下标的位置到字符串长度加结束下标的位置以步长向右移动。注意开始下标必须大于字符串长度加结束下标,否则切片出来的为空集。
基本语法:
# 字符串切片参数为负数
# 一个参数是负数
字符串名称[负数: 正数: 正数] # 开始下标为负数
字符串名称[正数: 负数: 正数] # 结束下标为负数
字符串名称[正数: 正数: 负数] # 步长为负数
# 两个参数为负数
字符串名称[负数: 负数: 正数] # 开始下标为负数,结束下标为负数
字符串名称[负数: 正数: 负数] # 开始下标为负数,步长为负数
字符串名称[正数: 负数: 负数] # 结束下标为负数,步长为负数
# 三个参数为父负数
字符串名称[负数: 负数: 负数] # 开始下标为负数,结束下标为负数,步长为负数
在python中的运用:
str1 = '0123456789' # 创建字符串
# 参数中有负数的情况
# 参数中有一位负数的情况
ss1 = str1[-9: 5: 1] # 开始下标为负数
ss2 = str1[0: -5: 1] # 结束下标为负数
ss3 = str1[5: 0: -1] # 步长为负数
# 参数中有两位负数的情况
ss4 = str1[-5: -1: 1] # 开始下标和结束下标为负数
ss5 = str1[-5: 0: -1] # 开始下标和步长为负数
ss6 = str1[10: -5: -1] # 结束下标和步长为负数
# 参数中有三位负数的情况
ss7 = str1[-5: -10: -1] # 开始下标、结束下标、步长为负数
# 输出结果
print(ss1) # 1234
print(ss2) # 01234
print(ss3) # 54321
print(ss4) # 5678
print(ss5) # 54321
print(ss6) # 9876
print(ss7) # 54321
运行之后的结果:
1234
01234
54321
5678
54321
9876
54321
1.4字符串切片参数存在负数并且省略参数
字符串切片参数存在负数并且省略参数的情况与字符串为正数并且省略参数的情况相似,所以就不一一列举了。
1.5总结
当字符串切片没有省略参数时,字符串是从开始下标开始到结束下标以步长进行切片。当开始下标省略时,开始下标默认为0。当结束下标省略时,结束下标默认为字符串长度。当步长省略时,步长默认为1。当开始下标为负数时,开始下标相当于在字符串长度加开始下标的位置。当结束下标为负数时,结束下标相当于在字符串长度加结束下标的位置。当步长为负数时,相当于下标以步长(绝对值)向右移动。注意开始下标必须小于结束下标。