切片操作¶
Python 中的切片操作和 slice()
函数是处理序列(如字符串、列表、元组等)中元素的强大工具。
切片操作 [start:stop:step]
¶
基本语法 :
sequence[start:stop:step]
- start : 切片的起始索引(包含该索引)。默认为 0。
- stop : 切片的结束索引(不包含该索引)。必须小于序列长度。
- step : 步长,默认为 1。可为负数,用于反向切片。
常见示例 :
lst = [0, 1, 2, 3, 4, 5]
print(lst[1:4]) # [1, 2, 3],从索引 1 开始到索引 4(不包含)结束
print(lst[:3]) # [0, 1, 2],从起始到索引 3(不包含)
print(lst[::2]) # [0, 2, 4],每隔两个元素取一个
print(lst[::-1]) # [5, 4, 3, 2, 1, 0],反转列表
注意事项 :
- 索引可以为负数,表示从序列末尾计数。例如:
lst[-3:]
从倒数第 3 个元素切到末尾。 - 切片结果为原序列的**浅拷贝**。
slice()
函数¶
基本功能 :
- `slice()` 是内置函数,用于生成一个切片对象,可用于更灵活地定义切片范围。
- 语法:`slice(start, stop, step)`
- 参数意义与切片操作中的 `start:stop:step` 一致。
使用方法 :
- 直接使用
slice()
对象切片: - 结合动态索引:
与切片操作的区别 :
[start:stop:step]
是切片的语法糖,常用于简单场景。slice()
适用于需要动态计算切片范围的情况,或在代码中需要明确表示切片对象的地方。
通过以上方法,你可以轻松对序列进行切片操作,同时结合 slice()
提升代码的灵活性和可读性!