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