切片

切片介绍

切片,英文单词为slicing

python中,用来取列表(list),元组(tuple),字符串(str)部分元素的操作。

切片的格式

data[start:end:step]

Note

data 为 list或者tuple或者str。

start 为 开始索引

end 为结束索引

step 为步长

包含开始索引,不包含结束索引

一些案例

获取部分元素

需求: 获取列表前3个元素.

nums = [0, 1, 2, 3, 4, 5, 6]
print(nums[0:3:1])

如果步长为1,可以省略

nums = [0, 1, 2, 3, 4, 5, 6]
# 省略步长
print(nums[0:3:])
# 或者完全省略
print(nums[0:3])

如果开始索引为0,可以省略

nums = [0, 1, 2, 3, 4, 5, 6]
print(nums[0:3])
print(nums[:3])

如果为末尾结束,可以省略结尾索引

nums = [0, 1, 2, 3, 4, 5, 6]
# 获取从索引2开始
print(nums[0:3])
print(nums[:3])

索引正序和倒序

索引分为正序和倒序, 正序自左至右,从0开始;倒序自右至左,从-1开始。

需求: 获取列表前3个元素.

nums = [0, 1, 2, 3, 4, 5, 6]
# 方式一
print(nums[0:3])
# 方式二 
print(nums[0:-4])

步长为负数

步长为负数时,代表反向切片.

需求: 获取列表中从下标为2开始的3个元素,要求倒序输出.

nums = [0, 1, 2, 3, 4, 5, 6]
print(nums[4:1:-1])