python切片
python切片有三个参数: [start_index,end_index,step]
参数 | 含义 | 默认 |
---|---|---|
start_index | 开始元素的索引(包括) | 0 |
end_index | 结束元素的索引(不包括) | n(长度) |
step | 步长 | 1 |
注意:切片中负数表示从最后一个元素的往回数(从右往左数),即取后面的数据。
下面以列表为例,详细介绍切片的魅力。
list1 = [0, 1, 2, 3, 4, 5, 6]
n = len(list1) # n 表示列表的长度
详细写法
list1[0: n: 1] # 输出 [0, 1, 2, 3, 4, 5, 6]
list1[0: -1: 1] # 输出 [0, 1, 2, 3, 4, 5, 6]
list1[0: n - 2: 1] # 输出 [0, 1, 2, 3, 4]
list1[0: n: 2] # 输出 [0, 2, 4, 6]
list1[2] # 输出 [2]
list1[-1] # 输出 [6]
简略写法
list1[:] # 输出 [0, 1, 2, 3, 4, 5, 6]
list1[:n - 2] # 输出 [0, 1, 2, 3, 4]
list1[:-1] # 输出 [0, 1, 2, 3, 4, 5, 6]
list1[::2] # 输出 [0, 2, 4, 6]
list1[-3:] # 输出 [4, 5, 6]
其他用法
list1[::-1] # 将列表逆序[6, 5, 4, 3, 2, 1, 0]
list1[:0] = [-2, -1] # 插入元素,输出[-2, -1, 0, 1, 2, 3, 4, 5, 6]
list2 = [0, 1, 2, 3, 4, 5, 6]
list2[2:2] = [-2, -1] # 插入元素,输出[0, 1, -2, -1, 2, 3, 4, 5, 6]
list3 = [0, 1, 2, 3, 4, 5, 6]
list3[:2] = [-2, -1] # 替换元素,输出[-2, -1, 2, 3, 4, 5, 6]
list4 = [0, 1, 2, 3, 4, 5, 6]
del list4[1:3] # 输出 [0, 3, 4, 5, 6]
结语: 切片的用法在数据分析中应用较为广泛,一般用于列表、数组、字符串和字段提取等。