基于python下的切片

切片的格式:

字符串/列表/元组[开始索引:结束索引:步长(有跳跃有间隔的对字符串进行切片)]
倒序索引:如果一个字符串/列表/元组很长,使用倒序索引很方便
最后一个索引的倒序索引是:-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:]

这里写图片描述

猜你喜欢

转载自blog.csdn.net/aaaaaab_/article/details/81149219