
序列 指的是 内容 连续 , 有序 , 可以使用 下标索引 访问 的 数据容器 ;
之前介绍的 列表 list , 元组 tuple , 字符串 str , 都是序列 ;
序列 可以 使用 正向 索引下标 访问 , 也可以使用 反向 索引下标 访问 ;

序列 的 切片操作 指的是 从 一个序列中 , 获取一个 子序列 ;
列表 list , 元组 tuple , 字符串 str , 等 数据容器 都是 内容 连续 , 有序 , 可以使用 下标索引 访问 的 序列 数据容器 , 因此 都可以进行 切片操作 ;
由于 元组 和 字符串 都是 不可更改的 数据容器 , 因此 序列切片操作 , 不会影响原来的序列 , 而是得到一个新的序列 ;
序列切片语法 : 序列变量后 , 使用 中括号 [] 进行切片操作 , 在 中括号中 分别给出 起始下标索引 , 结束下标索引 , 步长 , 三者使用 冒号 隔开 ;
序列变量[起始下标索引 : 结束下标索引 : 步长] # 省略起始坐标
slice = my_list[:4:1]
print(slice) # [0, 1, 2, 3] # 省略结束坐标
slice = my_list[1::1]
print(slice) # [1, 2, 3, 4, 5] # 省略步长
slice = my_list[1:4]
print(slice) # [1, 2, 3]代码示例 :
"""
序列切片 代码示例
"""
# 列表 切片
my_list = [0, 1, 2, 3, 4, 5]
# I. 省略 起始坐标 / 结束坐标 / 步长
# 省略起始坐标
slice = my_list[:4:1]
print(slice) # [0, 1, 2, 3]
# 省略结束坐标
slice = my_list[1::1]
print(slice) # [1, 2, 3, 4, 5]
# 省略步长
slice = my_list[1:4]
print(slice) # [1, 2, 3]
# 省略 起始下标索引 + 步长
slice = my_list[:4]
print(slice) # [0, 1, 2, 3]
# 省略 起始下标索引 + 结束下标索引 + 步长
slice = my_list[:]
print(slice) # [0, 1, 2, 3, 4, 5]执行结果 :
[0, 1, 2, 3]
[1, 2, 3, 4, 5]
[1, 2, 3]
[0, 1, 2, 3]
[0, 1, 2, 3, 4, 5]代码示例 :
# II. 对 字符串 str 切片
my_str = "123456789"
# 字符串切片 从头到尾 步长 2
slice = my_str[::2]
print(slice) # 13579执行结果 :
13579如果步长设置为 -1 , 则从后向前进行切片 ;
如果步长为负数 , 其起始下标索引 要 大于 结束下标索引 ;
代码示例 :
# III. 步长为负数的 切片
my_str = "123456789"
# 字符串切片 从头到尾 步长 -1
slice = my_str[::-1]
print(slice) # 987654321
# 字符串切片 从头到尾 步长 -1
slice = my_str[4:1:-1]
print(slice) # 543执行结果 :
987654321
543代码示例 :
# IV. 对元组进行切片
my_tuple = (0, 1, 2, 3, 4, 5)
slice = my_tuple[5:1:-2]
print(slice) # (5, 3)执行结果 :
(5, 3)代码示例 :
"""
序列切片 代码示例
"""
# 列表 切片
my_list = [0, 1, 2, 3, 4, 5]
# I. 省略 起始坐标 / 结束坐标 / 步长
# 省略起始坐标
slice = my_list[:4:1]
print(slice) # [0, 1, 2, 3]
# 省略结束坐标
slice = my_list[1::1]
print(slice) # [1, 2, 3, 4, 5]
# 省略步长
slice = my_list[1:4]
print(slice) # [1, 2, 3]
# 省略 起始下标索引 + 步长
slice = my_list[:4]
print(slice) # [0, 1, 2, 3]
# 省略 起始下标索引 + 结束下标索引 + 步长
slice = my_list[:]
print(slice) # [0, 1, 2, 3, 4, 5]
# II. 对 字符串 str 切片
my_str = "123456789"
# 字符串切片 从头到尾 步长 2
slice = my_str[::2]
print(slice) # 13579
# III. 步长为负数的 切片
my_str = "123456789"
# 字符串切片 从头到尾 步长 -1
slice = my_str[::-1]
print(slice) # 987654321
# 字符串切片 从头到尾 步长 -1
slice = my_str[4:1:-1]
print(slice) # 543
# IV. 对元组进行切片
my_tuple = (0, 1, 2, 3, 4, 5)
slice = my_tuple[5:1:-2]
print(slice) # (5, 3)执行结果 :
[0, 1, 2, 3]
[1, 2, 3, 4, 5]
[1, 2, 3]
[0, 1, 2, 3]
[0, 1, 2, 3, 4, 5]
13579
987654321
543
(5, 3)