与前面介绍的字符串操作类似的是,列表和元组同样也可使用索引获取中间一段,这种用法被称为slice(分片或切片)。slice的完整语法格式如下:
[start:end:step]
上面语法中start、end两个索引值都可使用正数或负数,其中负数表示从倒数开始。该语法表示从start索引的元素开始(包含),到end索引的元素结束(不包含)的所有元素一这和所有编程语言的约定类似。
step表示步长,因此step 使用负数没有意义。
下面代码示范了使用start、end 获取元组中间一段的用法
# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2024/01# @Author : Laopitupledemo = ('软件测试划水老师傅',18,89.5,'测试经理',-56)#访问第2个到第4个(不包含第4个)print(tupledemo[1:3])#(18, 89.5)#访问从倒数第3个到倒数第1个(不包含第1个)print(tupledemo[-3:-1])#(89.5, '测试经理')#访问从第2个到倒数第2个print(tupledemo[1:-2])#(18, 89.5)# 访问从倒数第3个到倒数第5个print(tupledemo[-3:4])#(89.5, '测试经理')如果指定step参数,则可间隔step个元素再取元素。# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2024/01# @Author : Laopitupledemo = ('软件测试划水老师傅',18,89.5,'测试经理',-56)#如果指定step参数,则可间隔step个元素再取元素tupledemo1 = (1,2,3,4,5,6,7,8,9,10)# 访问从第4个到第9个、间隔为2的所有元素print(tupledemo1[3:9:2])#(4, 6, 8)# 访问从第3个到第9个、间隔为3的所有元素print(tupledemo1[2:9:3])#(3, 6, 9)# 访问从第3个到倒数第2个、间隔为2的所有元素print(tupledemo1[2:-2:2])#(3, 5, 7)