2.切割单个对象切片在python中是用来切割可迭代对象的 一个完整的切片是包含两个:三个参数 object[start:end:step] 和range函数相似(参数个数取值范围) step:步长,默认值取值是1,可以为负数,默认方向是从左往右,负数代表从右往左 object[start]:从start切割到最后位置(为最末端)包含最末端,方向是从左到右 object[start:end]:从start切割到end结束,不包括end(前闭后开),方向是从左到右 object[start:end : step]: 以step为单位从start切割到end结束不包含end(前闭后开),step为正数的时候方向是从左往右,step为负数的时候方向是从右往左
a = [0,1,2,3,4,5,6,7,8,9] print(a[0]) print(a[-4]) print(a[:]) print(a[::]) print(a[::-1]) print(a[1:6]) print(a[1:6:-1])#矛盾无法切割,start=1 end=6 表示从左往右 step=-1 表示从右往左,所以矛盾,返回是空 print(a[:6]) print(a[6:]) print(a[6::-1])3. 全为负数的情况下
a = [0,1,2,3,4,5,6,7,8,9] print(a[-1:-6])#矛盾无法切割 print(a[-1:-6:-1]) print(a[:-6]) print(a[-6:-1]) print(a[-6:]) print(a[-6::-1])
4.正负都有的情况下
a = [0,1,2,3,4,5,6,7,8,9] print(a[1:-6]) print(a[1:-6:-1])#矛盾 print(a[-6:1:-1])
5.切片的连续操作
a = [0,1,2,3,4,5,6,7,8,9] print(a[:8]) print(a[:8][2:5]) print(a[:8][2:5][-1:])
6.切割其他对象
t = (1,2,3,4)
print(t[1:3])
s = "ABCDEFG"
print(s[1:3])
for i in range(1,100)[2::3][-10:]:
print(i)
7.切片的三个参数是表达式
a = [0,1,2,3,4,5,6,7,8,9] print(a[2+1:3*2:7%3])
8.取奇数位和偶数位
a = [0,1,2,3,4,5,6,7,8,9] #取奇数位 print(a[1::2]) #取偶数位 print(a[::2])
注意事项:
1. 如果进行切片操作的时候,超越下标的话不会报错
2. 如果进行切片操作的时候,参数的取值相互矛盾的话不会报错,会返回一个空列表
3. 在python中实现反向列表输出的方法:
循环 ;list.reverse() ;切片[::-1]



