Python切片操作
切片(Slicing)是Python中对于序列类型(如列表、字符串、元组等)的一种操作,用于获取序列的子部分。
切片的基本语法是 :
sequence[start:end:step]
其中:
- start: 切片开始的位置,默认为0。
- end: 切片结束的位置,不包括这个位置的元素,默认取到序列的最后一个元素。
- step: 步长,表示取值间隔,默认为1。
一个完整的切片表达式包含两个":“,用于分隔三个参数(start、end、step),当只有一个”:"时,默认第三个参数step=1。
基本用法
切片索引方式有正索引和负索引两种,可根据需要自由搭配,注意看step方向,默认为正索引。
以列表a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]为例,字符串、元组操作类似,从左到右为正索引,丛右到左为负索引。
常见用法
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 取单个值
a[0] # => 1
a[-2] # => 9
# 取部分值
a[2:] # 从第二个位置取到最后 => [3, 4, 5, 6, 7, 8, 9, 10]
a[2:6] # 从第二个位置取到第6个位置,不包含6的位置 => [3, 4, 5, 6]
a[::2] # 每两个值取一个(取奇数) => [1, 3, 5, 7, 9]
a[::-1] # 从右往左(倒序输出) => [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
a[6::-1] # 从第6的位置从右往左取 =>[7, 6, 5, 4, 3, 2, 1]
输出结果如下