1、切片(start: end: step):步长不写默认为1,从左往右依次取字符,-1表示从右往左依次取字符
例子字符:str=‘goodgoodstudy daydayup’
(1)取出全部字符:print(str[:])
结果:goodgoodstudy daydayup
(2)取出下标为2之前下标0之后全部字符:two=print(str[:3]),尾下标-1等于取出的字符,取左不取右
结果:goo
(3)取出下标为2以后的所有字符:print(str[2:])
结果:odgoodstudy daydayup
(4)取出下标为2到下标为5的字符:print(str[2:6])
结果:odgo
(5)取出下标为-1以后的所有字符:print(str[-1:]),不写步长,默认为1,意思为从开始下标依次向右取
结果:p
(6)按倒序取出全部字符:print(str[-1::-1]),-1表示从游标第一个字符开始取,步长为-1表示从右往左,依次取
结果:puyadyad ydutsdoogdoog
(7)从右边下标为-2开始取到洗标为-5:print(str[-2:-6:-1])
结果:uyad
(8)取单个字符:print(str[2])
结果:o
(9)取单个字符:print(str[-8])
结果:d
(10)如果写步长为-1,开始下标和结束下标都是正数,表示往右取字符,结果是取不到字符的:print(str[1:3:-1])
结果:空
(11)不写开始下标,默认以步长为准,则从右往左取,直到取到下标为5为止,print(str[:4:-1])
结果:puyadyad ydutsdoo
(12)开始下标为正数且小于结束下标,表示从左往右取,步长为负数,表示从右往左,二者矛盾,取出为空:print(str[1:4:-1])
结果:空
(13)开始下标大于结束下标,且步长为负数,则从下标开始从右往左取到开头:print(str[2::-1])
结果:oog
(14)初始下标为空,结束下标为正数,步长为负数,则从右往左取到下标为4为止:print(str[:3:-1])
结果:puyadyad ydutsdoog
(15)多条件切片:取出1-99内2的倍数,且是前5个数字,0,1,2,3,4
for i in range(1,100)[1::2][0:5]:
print(i)
结果:2 4 6 8 10
(16)取偶数位置字符:print(str[::2])
结果:gogosuydyau
(17)取奇数位置字符:print(str[::3])
结果:gdotyaap
(18)字符拷贝:
a=[1,2,3,4]
b=a[:]或copy.copy(a)
print(b)
结果:b=[1,2,3,4]
.copy()是浅拷贝,deepcopy()深拷贝
总结:python切片方式真多!!!
参考:https://www.jianshu.com/p/15715d6f4dad
来源:CSDN
作者:叫我胖子就可以了
链接:https://blog.csdn.net/qq_40527967/article/details/103244545