切片详解
切片
| 值 | 0 1 2 3 4 5 6 7 8 9
| 正索引 | 0 1 2 3 4 5 6 7 8 9
| 负索引 | -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
1.默认打印所有内容
print(lis[:])
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2.只填第一个值(从头到尾,都是从左到右)
print(lis[1:])
print(lis[-4:])
3.填两个值(取头去尾)
print(lis[0:4])
print(lis[-4:-1])
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[6, 7, 8, 9]
4.填两个值,反向切片(骚操作,由于默认是从左到右取值,所有取不到东西)
print(lis[4:0])
print(lis[-1:-4])
[]
[]
5.步长(默认第一个值为起点,还会取它的值)
print(lis[0:9:2])
print(lis[-9:-1:2])
[0, 2, 4, 6, 8]
[1, 3, 5, 7]
6.填两个值,加入步长,如果步长为负数,可以从右到左取值(解决4的需求)
print(lis[4:0:-1])
print(lis[-1:-4:-1])
[4, 3, 2, 1]
[9, 8, 7]
7.正负混用!!
print(lis[0:-1])
print(lis[-10:9])
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
8.连续切片(其实就是切一次后返回的list继续切片)
print(lis[:][2:9][2:3])
[4]
9.运算切片(就是里面可以进行运算,根据运算结果切片)
print(lis[1+1:2*2])
#print(lis[2,4])
[2, 3]