python基本语法3.8-slice

li = list(range(10))
print(li) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 切片 [start:end:steps]  >= start & < end
print(li[2:5])  # [2, 3, 4],从2开始到5结束,但不包括第5个
print(li[:4])   # [0, 1, 2, 3] 从0开始到4结束,但不包括第4个
print(li[5:])   # [5, 6, 7, 8, 9]从5开始到结束
print(li[0:10:3])   # [0, 3, 6, 9]从0开始到10结束,但不包括第10个,步长为3

# 负值怎么处理?
print(li[5: -2])    # [5, 6, 7]从5开始到倒数第2个结束,但不包括倒数第2个
print(li[9:0:-1])   # [9, 8, 7, 6, 5, 4, 3, 2,1]从第9个开始,到倒数第0个结束,但不包括倒数第0个,步长为-1
print(li[9::-1])   # [9 ... 0]从第9个开始,到最后,步长为-1
print(li[::-2]) # [9, 7, 5, 3, 1]从最后开始,到最前面,步长为-2

# 切片生成一个新的对象
print(li)   # 还是保持原样

#翻转
print(li[::-1])
原文地址:https://www.cnblogs.com/xiaoyingying/p/7736935.html