python中切片是用来切割可迭代对象(容器)
集合、字符串、列表、元组、字典都是可迭代对象
一个完整的切片是包含三个参数和两个冒号:例如:object[start: end:step]
start | 切片的起始位置,如果没有值的话从头开始 |
---|---|
end | 切片的结束位置,但是不包含end(前闭后开),如果没有值的话表示切割到结束为止 |
step | 步长,默认取值为1,如果为正数的情况表示从左往右,如果为负数表示从右往左 |
1.默认打印所以的内容
s = [1,2,3,4,5]
print(s[:])
[1, 2, 3, 4, 5]
2.用正数打印想取的范围
s = [1,2,3,4,5]
print(s[1:3])
[2, 3]
2.用负数打印所取的范围
s = [1,2,3,4,5]
print(s[-4:-2])
[2, 3]
3.利用步长来打印偶数位和奇数位的值
s = [1,2,3,4,5]
print(s[0::2])
print(s[1::2])
[1, 3, 5]
[2, 4]
4.start和end正负混合情况
s = [1,2,3,4,5]
print(s[1:-2])
[2, 3]
5.所取的范围不存在的时候不会报错,返回一个空列表
s = [1,2,3,4,5]
print(s[7:8])
[ ]
6.连续的切片操作
s = [1,2,3,4,5]
print(s[1:4][0:2])
[2, 3]
7.切片中的几个参数为表达式
s = [1,2,3,4,5]
print(s[0+1:2*2])
[2, 3, 4]
8.切片可以操作其他的对象
for i in range(1,11)[1::3]:
print(i,end=" ")
2 5 8