切片介绍
python中用来取列表list,元组tuple和字符串str部分元素的操作
切片格式
data[start:end:step]
注意:
data为list或者tuple或者str
start为开始索引(索引即下标)
end为结束索引
step为步长(类似公差)
#获取前三个元素 切片包含0不包含3
#针对列表
nums = [0,1,2,3,4,5,6]
print(nums[0:3:1])
[0, 1, 2]
#获取前三个元素 切片包含0不包含3
#针对元组
nums = (0,1,2,3,4,5,6)
print(nums[0:3:1])
(0, 1, 2)
##针对元组
str = 'itcast'
print(str[0:3:1])
itc
优化
#step 步长为1,可以省略
nums = [0,1,2,3,4,5,6]
print(nums[0:3:1])
print(nums[0:3:])
print(nums[0:3])
[0, 1, 2]
[0, 1, 2]
[0, 1, 2]
#start 开始索引为0 可以省略
nums = [0,1,2,3,4,5,6]
print(nums[0:3])
print(nums[:3])
#这里冒号不能省略
print(nums[3])
[0, 1, 2]
[0, 1, 2]
3
#end 结束索引为末位(数据个数) 可以省略
nums = [0,1,2,3,4,5,6]
print(nums[3:7])
print(nums[3:])
#这里冒号不能省略
print(nums[3])
[3, 4, 5, 6]
[3, 4, 5, 6]
3
索引正序和倒序
索引分为正序和倒序,正序自左至右,从0开始;倒序自右至左,从-1开始。
#获取前三个元素 list
nums = [0,1,2,3,4,5,6]
#正序
print(nums[0:3:1])
#倒序
print(nums[0:-4:1])
[0, 1, 2]
[0, 1, 2]
#step 步长 取值可为负数
#-1 反转
nums = [0,1,2,3,4,5,6]
print(nums[2:5])
print(nums[4:1:-1])
[2, 3, 4]
[4, 3, 2]
#获取前三个元素 list 反转 结束索引可省略
nums = [0,1,2,3,4,5,6]
print(nums[0:3:1])
print(nums[2::-1])
[0, 1, 2]
[2, 1, 0]