切片的格式:
字符串/列表/元组[开始索引:结束索引:步长(有跳跃有间隔的对字符串进行切片)]
倒序索引:如果一个字符串/列表/元组很长,使用倒序索引很方便
最后一个索引的倒序索引是:-1
1.指定的区间属于左闭右开型
从起始位置开始,到结束位置的前一位(不包括结束本身)
2.从头开始,开始索引数字可以忽略,冒号不能省略
3.到末尾结束,结束索引数字可以省略,冒号不能省略
4.步长默认为1
字符串的切片:
In [29]: str = '0123456' 定义一个与索引值相同的字符串
In [30]: str[2:4] 从第二个到第四个,不包括第四个索引
Out[30]: '23'
In [31]: str[2:] 从第二个到末尾索引
Out[31]: '23456'
In [32]: str[:] 全部索引
Out[32]: '0123456'
In [33]: str[0:7] 全部索引,末尾值+1
Out[33]: '0123456'
In [34]: str[:4] 从开始到第四个索引不包括第四个
Out[34]: '0123'
In [35]: str[1:5:2] 从第一个到第五个,不包括第五个索引,步长为2
Out[35]: '13'
In [36]: str[::2] 从开始到结尾步长为2
Out[36]: '0246'
In [37]: str[6]
Out[37]: '6'
In [38]: str[-1] 最后一个数字表示-1
Out[38]: '6'
In [39]: str[2:-1] 从第二个到末尾索引
Out[39]: '2345'
In [40]: str[-2:] 索引最后两个
Out[40]: '56'
In [41]: str[-1::-1] 倒序索引,从最后一个开始,步长为-1
Out[41]: '6543210'
列表的切片:(由于列表和元组切片和字符串切片功能均相同,只做演示)
In [42]: str = [0,1,2,3,4,5,6]
In [43]: str[2:4]
Out[43]: [2, 3]
In [44]: str[2:]
Out[44]: [2, 3, 4, 5, 6]
In [45]: str[:]
Out[45]: [0, 1, 2, 3, 4, 5, 6]
In [46]: str[0:7]
Out[46]: [0, 1, 2, 3, 4, 5, 6]
In [47]: str[:4]
Out[47]: [0, 1, 2, 3]
In [48]: str[1:5:2]
Out[48]: [1, 3]
In [49]: str[::2]
Out[49]: [0, 2, 4, 6]
In [50]: str[6]
Out[50]: 6
In [51]: str[-1]
Out[51]: 6
In [52]: str[2:-1]
Out[52]: [2, 3, 4, 5]
In [53]: str[-2:]
Out[53]: [5, 6]
In [54]: str[-1::-1]
Out[54]: [6, 5, 4, 3, 2, 1, 0]
元组的切片:
In [58]: str = (0,1,2,3,4,5,6)
In [59]: type(st)
%store staticmethod str
In [59]: type(str)
Out[59]: tuple
In [60]: str[2:4]
Out[60]: (2, 3)
In [61]: str[2:]
Out[61]: (2, 3, 4, 5, 6)
In [62]: str[:]
Out[62]: (0, 1, 2, 3, 4, 5, 6)
In [63]: str[0:7]
Out[63]: (0, 1, 2, 3, 4, 5, 6)
In [64]: str[:4]
Out[64]: (0, 1, 2, 3)
In [65]: str[1:5:2]
Out[65]: (1, 3)
In [66]: str[::2]
Out[66]: (0, 2, 4, 6)
In [67]: str[6]
Out[67]: 6
In [68]: str[-1]
Out[68]: 6
In [69]: str[2:-1]
Out[69]: (2, 3, 4, 5)
In [70]: str[-2:]