字符串切片和下标一样重要,要认真学习。在Python中不仅字符串支持切片操作,后面即将学习的列表、元组同样支持切片操作。
抛出问题:
str1 = 'python'
# 得到整个字符串数据
print(str1)
# 下标得到的是下标为某个数字的数据
print(str1[3])
# 如果想得到 thon 这4个数据怎么办? -----》 用到字符串切片知识
序列名[开始位置下:结束位置下标:步长]
注意:
不同情况下操作切片:
# 语法: 序列名[开始位置:结束位置:步长]
str1 = '0123456789'
print(str1[2:5:1]) # 结果:234
# 从下标2开始对应数字是2,到下标是5结束对应数字是5,等得到2345,但是左闭右开的,5这个数字去不到,,最后得到结果是234
print(str1[2:5:2]) # 结果:24
# 从下标2开始对应数字是2,到下标是5结束对应数字是5,在这基础之上步长间隔是2,那就是2开始位置的数据是要的加上2,选取出来的就是4,又不包含结束位置所以5取不到最后结果是24
print(str1[2:5]) # 结果:234 步长不写,步长默认为1
print(str1[:5]) # 结果:01234 开始位置不写,默认从0开始选取
print(str1[2:]) # 结果:23456789 结束位置不写,表示选取到最后
print(str1[:]) # 结果:0123456789 如果不写开始和结束,表示选取所有
# 负数测试
print(str1[::-1]) # 结果:9876543210 如果步长为负数,表示倒序选取
print(str1[-4:-1:]) # 结果:678 ----下标-1表示最后一个数据,依次向前类推
# 终极测试
print(str1[-4:-1:1]) # 结果:678
print(str1[-4:-1:-1]) # 不能选取出数据:从-4开始达到-1结束,选取方向为从左到右,但是步长-1选取方向为从右向左
# 总结: 如果选取方向(下标开始到结束的方向)和 步长的方向冲突,则无法选取数据
# 修改一下就可以选取出
print(str1[-1:-4:-1]) # 结果 987
# 开始位置-1选取到的数字是9,结束位置-4从数字9开始向左数,第-4个数字是6但不包含6,所以结果为987,方向为从右向左;而步长方向是从右向左,方向一致所以可以取到数据
执行结果如下图:
切片重点学习知识点是切片的语法以及以上对对切片做测试的代码,里面很多知识点希望大家认真理解多情况下切片操作。python基础教程从这里开始可能会稍微加大难度了,所以大家要更加的努力才行。