- 切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
- 切片的语法:[起始:结束:步长],也可以简化使用[起始:结束]
- 注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。
- 左闭右开区间
基本切片操作
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 获取索引为2到4的子序列
subset = my_list[2:5]
print(subset)
# 输出: [2, 3, 4]
# 从头开始到索引为6的子序列
subset = my_list[:7]
print(subset)
# 输出: [0, 1, 2, 3, 4, 5, 6]
# 从索引为3到末尾的子序列
subset = my_list[3:]
print(subset)
# 输出: [3, 4, 5, 6, 7, 8, 9]
# 获取整个列表的副本
subset = my_list[:]
print(subset)
# 输出: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
使用负数索引:
# 获取最后三个元素
subset = my_list[-3:]
print(subset)
# 输出: [7, 8, 9]
# 获取倒数第四到倒数第二个元素
subset = my_list[-4:-1]
print(subset)
# 输出: [6, 7, 8]
使用步长(step):
# 获取偶数索引的元素
subset = my_list[0::2]
print(subset)
# 输出: [0, 2, 4, 6, 8]
# 反转列表
subset = my_list[::-1]
print(subset)
# 输出: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
总之,切片是一种灵活的方式,可以从序列中提取子序列,让代码更简洁、易读,并且允许您使用不同的步长和负数索引来实现各种需求。切片适用于字符串、列表、元组等序列类型。