切片详解

切片

| 值    |  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]

原文地址:https://www.cnblogs.com/zx125/p/11304901.html