前言
最近在看切片的时候遇到一些问题,切片的基本操作居然忘记了,现在总结下
切片的操作
1、使用索引获取序列中的元素
a=["A","B","C","D","E"]
a[1]='B'
2、切片支持反序索引
a[-1]='E'
其基本原理图如下:
反向切片.png
3、使用切片
格式:a[start:end:step]
start是切片起点索引,end是切片终点索引,但切片结果不包括终点索引的值。step是步长默认是1。
3.1、正向序列举例
a[:]#全部省略表示正向切全部,其并非在
#原序列上直接操作的,而是返回一个新序列
#['A', 'B', 'C', 'D', 'E']
a[0:2]#起点省略则默认为0
#['A', 'B']
a[::2]#设置步长为2
#['A', 'C', 'E']
3.2、理解start和end的关系
在step的符号一定的情况下,start和end可以混合使用正向和反向索引,无论怎样,你都要保证start和end之间有和step方向一致元素 间隔,否则会切出空列表。
>>> a[0:-3]
['A', 'B']
>>> a[0:2]
['A', 'B']
原理如下:
原理.png
3.3、反向序列举例
>>>a[::-1]#步长为负表示倒序序列
['E', 'D', 'C', 'B', 'A']
>>> a[-1:-4:-1]
['E', 'D', 'C']
>>> a[-1:1:-1]
['E', 'D', 'C']
>>> a[4:1:-1]
['E', 'D', 'C']
>>> a[4:-4:-1]
['E', 'D', 'C']
原理图:
原理.png
网友评论