切片
在 Python 中,列表(list
)的切片操作非常强大,可以用于提取子列表、反转列表等。以下是列表切片的所有用法:
切片的基本语法
new_list = list[start:stop:step]
start
:切片的起始索引(包含),默认为 0。stop
:切片的结束索引(不包含),默认为列表长度。step
:切片的步长,默认为 1。
1. 基本切片
提取从 start
到 stop
之间的元素。
示例
my_list = [0, 1, 2, 3, 4, 5]
# 提取索引 1 到 4 之间的元素
print(my_list[1:4]) # 输出 [1, 2, 3]
2. 省略 start
或 stop
start
或 stop
如果省略 start
,则从列表开头开始;如果省略 stop
,则到列表末尾结束。
示例
my_list = [0, 1, 2, 3, 4, 5]
# 从开头到索引 3
print(my_list[:3]) # 输出 [0, 1, 2]
# 从索引 2 到末尾
print(my_list[2:]) # 输出 [2, 3, 4, 5]
3. 使用负索引
负索引表示从列表末尾开始计算。
示例
my_list = [0, 1, 2, 3, 4, 5]
# 从倒数第 3 个元素到倒数第 1 个元素
print(my_list[-3:-1]) # 输出 [3, 4]
4. 使用步长 step
step
step
表示切片的步长,可以是正数或负数。
示例
my_list = [0, 1, 2, 3, 4, 5]
# 每隔一个元素提取
print(my_list[::2]) # 输出 [0, 2, 4]
# 反转列表
print(my_list[::-1]) # 输出 [5, 4, 3, 2, 1, 0]
5. 切片赋值
切片操作还可以用于修改列表的部分元素。
示例
my_list = [0, 1, 2, 3, 4, 5]
# 将索引 1 到 3 的元素替换为 [10, 11]
my_list[1:3] = [10, 11]
print(my_list) # 输出 [0, 10, 11, 3, 4, 5]
6. 删除切片
通过切片操作可以删除列表的部分元素。
示例
my_list = [0, 1, 2, 3, 4, 5]
# 删除索引 1 到 3 的元素
my_list[1:3] = []
print(my_list) # 输出 [0, 3, 4, 5]
7. 复制列表
通过切片操作可以复制整个列表。
示例
my_list = [0, 1, 2, 3, 4, 5]
# 复制列表
new_list = my_list[:]
print(new_list) # 输出 [0, 1, 2, 3, 4, 5]
8. 复杂切片
结合 start
、stop
和 step
可以实现更复杂的切片操作。
示例
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 从索引 1 开始,到索引 8 结束,步长为 2
print(my_list[1:8:2]) # 输出 [1, 3, 5, 7]
总结
列表切片的基本用法包括:
基本切片:
list[start:stop]
省略
start
或stop
:list[:stop]
或list[start:]
负索引:
list[-3:-1]
步长:
list[::2]
或list[::-1]
切片赋值:
list[1:3] = [10, 11]
删除切片:
list[1:3] = []
复制列表:
new_list = list[:]
复杂切片:
list[start:stop:step]
通过灵活使用切片操作,可以高效地处理列表数据!
最后更新于
这有帮助吗?