切片操作: 对有序数列使用下标操作进行区域切割。 最常见的的切片操作,以list为例(其他的有序数列,例如tuple和str的切片操作都跟list相同): lst[start:end:step] start:起始索引,end:结束索引,step步长 切片操作的取值区域,包含起始索引的元素,不包含结束索引的元素 正数索引,从0开始,从左往右计数 负数索引,从-1开始,从右往左计数 实例:如果step(步长)为默认值(1)或者其他正整数时,切片顺序是从左往右,start(起始索引)必须在end(结束索引)前面,否则会得到一个空列表。 >>> lst [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> lst[0:8] [0, 1, 2, 3, 4, 5, 6, 7] >>> lst[0:-2] [0, 1, 2, 3, 4, 5, 6, 7] >>> lst[-8:6] [2, 3, 4, 5] >>> lst[-2:3] [] >>> lst[7:2] [] >>> lst[-2:-5] [] 实例:如果step(步长)为负数时,切片顺序是从右往左,start(起始索引)必须在end(结束索引)后面,否则会得到一个空列表。 返回的结果相对于原列表是逆序的 >>> lst [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> lst[7:2:-1] [7, 6, 5, 4, 3] >>> lst[-1::-1] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>> lst[-1:-5:-1] [9, 8, 7, 6] >>> lst[-1:-7:2] [] >>> 实例:step为默认(1)或-1时,切片计数为正常的顺序取值,当大于1,或者小于-1时,则根据step跳跃取值,步长是2或-2时是两位元素中取第一位,第二位丢弃,以此类推。 >>> lst[::2] [0, 2, 4, 6, 8] >>> lst[::3] [0, 3, 6, 9] >>> lst[-1::-2] [9, 7, 5, 3, 1] >>> lst[-1::-3] [9, 6, 3, 0] 实例:当start或end超出lst的索引范围的情况,start < 索引范围的第一位,end >索引范围的最后一位,start取值为索引0,end取值为len(lst) >>> lst[-100:5] [0, 1, 2, 3, 4] >>> lst[2:100] [2, 3, 4, 5, 6, 7, 8, 9] >>> lst[-100:100] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 实例:start为0可以省略,end为list的长度时可以省略,等效于lst.copy()方法 >>> lst [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> lst[:] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> lst[::-1] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>>