切片的作用
- 解决取 list 和 tuple 部分元素的问题
基本操作
- L = [1, 2, 3, 4, 5]
- L[0:3]:取前三个元素
- L[:3]:第一个索引是0,可以不写
- L[-2:-1]:倒数第二个至倒数第一个元素
- L[:5:2]:前5个元素,每隔2个取一个
- L[-5:]:后5个元素
- L[:]:复制一个 列表,元组也可以这样,但是效果不尽相同:
- L = [1, [1, 2, 3, 4, 5], 2, 3, 4, 5]
- M = L, M[1][1] = 100, 则 L = [1, [1, 100, 3, 4, 5], 2, 3, 4, 5]
- M = L[:], M[1][1] = 100, 则 L = [1, [1, 2, 3, 4, 5]], 完全复制了一个新的list,并不会改变之前的值
- L = (1, [1, 2, 3, 4, 5], 2, 3, 4, 5)
- M = L, M[1][1] = 100, 则 L = (1, (1, 2, 3, 4, 5), 2, 3, 4, 5)
- M = L[:], M[1][1] = 100, 则 L = (1, (1, 100, 3, 4, 5), 2, 3, 4, 5)
- L = [1, [1, 2, 3, 4, 5], 2, 3, 4, 5]