Python切片语法详解 看完你就是切片大神
看完本篇文章你就是切片大神
切片语法可用于字符串、列表、元组、集合、等序列容器对象
约定: 示例代码中>>>表示交互输入
约定: 示例代码中<<<表示交互输出
切片语法定义: [start: end: step]
三个值全部可为空, 三个值全部支持负值, 截取结果不包括end索引处的元素
start: 起始索引, 默认值为0
end: 结束索引, 默认值为None (自动确定序列首或序列尾)
step: 步长, 默认值为1
切片常用操作大全:
切片语法支持del与赋值
切片语法 | start | end | step | 功能 |
---|---|---|---|---|
[:] | 0 | len(sequence) | 1 | 截取所有元素 |
[::] | 0 | len(sequence) | 1 | 截取所有元素 |
[3:] | 3 | len(sequence) | 1 | 从索引为3的元素开始截取, 直到序列结尾 |
[: 3] | 0 | 3 | 1 | 从索引0开始截取, 截取到索引为3的元素 |
[1: 3] | 1 | 3 | 1 | 从索引1开始截取, 截取到索引为3的元素 |
[:: -1] | len(sequence) | None | -1 | 反转序列 |
[::2] | 0 | len(sequence) | 2 | 隔一个元素取一个 |
示例:
>>> a = list(range(10)) # 定义列表
>>> a # 查看列表元素
<<< [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 列表元素
>>> a[: 3] # 取出0, 1, 2索引处的元素 (不包括结束索引)
<<< [0, 1, 2] # 切片结果
>>> a[::-1] # 反转列表
<<< [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] # 反转结果
>>> a[::2] # 隔1个取一个
<<< [0, 2, 4, 6, 8] # 切片结果
>>> del a[: 3] # 删除0, 1, 2索引处的元素 (无返回值)
>>> a # 查看列表
<<< [3, 4, 5, 6, 7, 8, 9] # 发现列表元素已被改变0, 1, 2索引的元素已被删除
>>> a[2: ] = 'A' # 替换并截断元素
<<< [3, 4, 'A'] # 截断结果
>>> a[1:1] = list('ABCDE') # 插入元素, 在1号元素前面插入元素
<<< [3, 'A', 'B', 'C', 'D', 'E', 4, 'A'] # 插入结果
>>> a[1: 3] = range(5) # 替换并插入元素, 1号与2号元素会被替换, 多出来的元素会被插入
<<< [3, 0, 1, 2, 3, 4, 'C', 'D', 'E', 4, 'A'] # 替换并插入结果
如果您觉得此文章对您有所帮助, 请帮我点赞哦~