文章目录
前言
在Python中,切片操作用于从可迭代对象中获取子序列。切片操作使用:符号来指定起始位置、结束位置和步长。
一、什么是序列?
定义:内容连续、有序,可使用下标索引的一类数据容器,列表、元组、字符串,均可视为序列。
二、切片操作
语法:序列 [起始下标:结束下标:步长]
表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。
- 起始下标表示从头开始,可以留空,留空表示从头开始
- 结束下标表示何处结束,可以留空,留空表示截取到末尾
- 步长表示,依次取元素的间隔
步长1表示,一个个取元素
步长2表示,每次跳过一个元素取
步长N表示,每次跳过N-1个元素取
步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)
1. 对list进行切片,从1开始,4结束,步长1
my_list = [0, 1, 2, 3, 4, 5]
var = my_list[1:4:1] # 步长默认是1,可以不写
print(var)
结果
[1, 2, 3]
2. 对tuple进行切片,从头开始,到尾结束,步长1
my_tuple = (0, 1, 2, 3, 4, 5)
var2 = my_tuple[:]//起始和末尾都不写,表示从头到尾,步长不写默认是1
print(var2)
(0, 1, 2, 3, 4, 5)
3. 对str进行切片,从头开始,到尾结束,步长2
str3 = "xiaoheihaoyaling"
str4 = str3[::2]
print(str4)
xahiayln
4. 对str进行切片,从头开始,到尾结束,步长-1
str5 = "xiaoheihaoyaling"
str6 = str5[::-1]
print(str6)
gnilayoahiehoaix
5. 对list进行切片,从3开始,1结束,步长-1
my_list2 = [0, 1, 2, 3, 4, 5]
var3 = my_list2[3:1:-1] # 步长默认是1,可以不写
print(var3)
[3, 2]