列表的切片操作时对其中的单个或者多个索引对应元素的操作,具有如下特点:
①、切片区间是左闭右开区间
②、切片的下标可以表示负数,-1表示倒数第一个数,-2表示倒数第二个数
③、默认步长是1,可增加第三个参数改变步长
④、步长是-1可以实现倒序切片
⑤、步长为正时,首末缺省下标分别为0和n;步长为负时,首末缺省下标分别为-1,-n-1
例如:把123456789变成987654321
# py面试:把123456789变成987654321 # 考查切片知识,倒叙每一个数 a=[1,2,3,4,5,6,7,8,9] b=a[::-1] print(b)
输出:[9,8,7,6,5,4,3,2,1]
-1表示倒序,b=a[::-1]等同于b=a[-1::-1],输出也是[987654321]
1、取前三个元素:b=a[0:3],前面那个0可以省略
a=[1,2,3,4,5,6,7,8,9] b=a[0:3] print(b)
输出:[1,2,3]
2、取出第1到3个元素:b=a[1:3]
a=[1,2,3,4,5,6,7,8,9] b=a[1:3] print(b)
输出:[2,3]
3、b=a[-1]是取出a中最后一个元素,同样也支持倒数切片
a=[1,2,3,4,5,6,7,8,9] b=a[-2:-1] print(b)
输出:[8]
4、从第一个开始,每两个取一个
a=[1,2,3,4,5,6,7,8,9] b=a[0:10:2] print(b)
输出:[1,3,5,7,9]
5、直接复制一个list:b=a[:]
a=[1,2,3,4,5,6,7,8,9] b=a[:]
a[0]=100 print(b)
输出:[1,2,3,4,5,6,7,8,9]
b=a不是真实的拷贝:
a=[1,2,3,4,5,6,7,8,9] b=a a[0]=100 print(b)
输出:[100, 2, 3, 4, 5, 6, 7, 8, 9]
6、切片除了操作list,也可以操作tuple和str
# 操作tuple
a=(1,2,3,4,5,6,7,8,9) b=a[:3] print(b)
输出:(1, 2, 3)
# 操作str
a="123456789" b=a[:3] print(b)
输出:123