【Python】数据容器(序列)的切片

什么是序列?

内容连续、有序,支持下标索引的一类数据容器

哪些数据容器可以视为序列?

列表、元组、字符串

 

序列的常用操作—切片

序列支持切片,即:表示列表、元组、字符串,均支持进行切片操作

切片:从一个序列中,取出一个紫序列

序列如何切片?

语法:

# 语法
序列[起始:结束:步长]
# 表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列
# 起始可以省略,省略从头开始
# 结束可以省略,省略到尾结束
# 步长可以省略,省略步长为1(可以为负数,表示倒序执行)

 

-起始下标表示从何处开始,可以留空,留空视作从头开始
-结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
-步长表示,依次取元素的间隔
--步长1表示,一个个取元素
--步长2表示,每次跳过1个元素取
--步长N表示,每次跳过N-1个元素取
--步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

 

示例

对序列进行切片操作演示

# 对list进行切片,从1开始,4结束,步长1
my_list = [0, 1, 2, 3, 4, 5, 6, 7]
result1 = my_list[1:4]
print(f"结果1:{result1}")


# 对tuple进行切片,从头开始,到最后结束,步长1
my_tuple = [0, 1, 2, 3, 4, 5, 6, 7]
result2 = my_tuple[:]   # 起始和结束不写表示从头到尾,步长为1可以省略
print(f"结果2:{result2}")

# 对str进行切片,从头开始,到最后结束,步长2
my_str = "0123456789"
result3 = my_str[::2]
print(f"结果3:{result3}")

# 对str进行切片,从头开始,到最后结束,步长-1
my_str = "0123456789"
result4 = my_str[::-1]   # 等同于将序列反转了
print(f"结果4:{result4}")


# 对列表进行切片,从3开始,到1结束,步长-1
my_list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
result5 = my_list1[3:1:-1]
print(f"结果5:{result5}")


# 对元组进行切片,从头开始,到尾结束,步长-2
my_tuple1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
result6 = my_tuple1[::-2]
print(f"结果6:{result6}")

 

以上实例中所有代码运行结果如下图:

 

 

版权声明:
作者:牛部落
链接:https://www.tnell.com/752.html
来源:天牛博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录