1.序列
内容连续、有序,可使用下标索引的数据容器。(列表、元组、字符串都可以称为序列)
2.切片
从一个序列中取出一个子序列。
3.语法:
序列[起始下标:结束下标:步长]
4.从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:
·起始下标表示从何开始,可以留空(表示从头开始)
·结束下标(不含)表示何处结束,可以留空(表示截取到结尾)
·步长表示,依次取元素的间隔
·步长1表示:一个个取元素
·步长2表示:每次跳过一个元素取
·步长N表示:每次跳过N-1个元素取
·步长为负数表示:反向取(起始下标和结束下标也要反向标记)
⚠️此操作不会影响序列本身,而是会得到一个新的序列
# 对list进行切片,从1开始,4结束,步长1
my_list = [0, 1, 2, 3, 4, 5, 6]
result1 = my_list[1:4:1] # 步长默认是1,可以省略不写my_list[1:4]
print(f"结果1: {result1}")
结果1: [1, 2, 3]
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result2 = my_tuple[:] # 起始和结束不写表示从头到尾,步长1可以省略
print(f"结果2: {result2}")
结果2: (0, 1, 2, 3, 4, 5, 6)
# 对str进行切片,从头开始,到最后结束,步长2
my_str = "01234567"
result3 = my_str[::2]
print(f"结果3: {result3}")
结果3: 0246
# 对str进行切片,从头开始,到最后结束,步长-1
my_str = "01234567"
result4 = my_str[::-1]
print(f"结果4: {result4}")
结果4: 76543210
# 对list进行切片,从3开始,1结束,步长-1
my_list = [0, 1, 2, 3, 4, 5, 6]
result5 = my_list[3:1:-1]
print(f"结果5: {result5}")
结果5: [3, 2]
# 对tuple进行切片,从头开始,到最后结束,步长-1
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result6 = my_tuple[::-1]
print(f"结果6: {result6}")
结果6: (6, 5, 4, 3, 2, 1, 0)
完结 🎉 继续更新 加个关注收藏一下叭~