如何在Python中对元组进行索引和切片?




如何在Python中对元组进行索引和切片?

元组是由逗号分隔的有序且不可变的Python对象集合。与列表一样,元组也是序列。与列表不同的是,元组是不可修改的,而列表是可修改的,并且它们使用圆括号而不是方括号。

tup=('tutorials', 'point', 2022,True)
print(tup)

如果您执行以上代码片段,将产生以下输出−

('tutorials', 'point', 2022, True)

在本文中,我们将讨论如何在Python中对元组进行索引和切片。



索引元组

在Python中,每个包含元素的元组都有一个位置或索引。可以通过使用索引号来访问或操作元组的每个元素。

索引有两种类型-

  • 正索引
  • 负索引

正索引

在正索引中,元组的第一个元素的索引为0,后续元素的索引为+1以此类推。

在下面的图中,我们可以看到元组中的元素与其索引或位置的关联。

如何在Python中对元组进行索引和切片?

示例1

以下是一个示例代码,展示元组的正索引。

tuple= (5,2,9,7,5,8,1,4,3)
print(tuple(3))
print(tuple(7))

输出

上述代码生成以下结果

7
4

负索引

在负索引中,元组元素的索引是从元组末尾开始的。也就是说,元组的最后一个元素在位置-1,前一个元素在位置-2,依此类推,直到第一个元素。

在下面的图中,我们可以看到一个元素与元组的索引或位置是如何关联的。

如何在Python中对元组进行索引和切片?

示例

以下是一个示例代码,演示了如何在元组中使用负索引。

tuple= (5,2,9,7,5,8,1,4,3)
print(tuple(-2))
print(tuple(-8))

输出

上述代码生成以下结果



4
2

切片元组

元组切片是Python中经常使用的方法,也是程序员用来解决高效问题的最常见技术。考虑一个Python元组,在访问其中一段元素时,你必须对元组进行切片。一种方法是使用冒号作为简单的切片运算符(:)。

切片运算符允许你指定切片的起始位置、结束位置和步长。元组切片会从旧的元组创建一个新的元组。

语法

tuple[Start : Stop : Stride]

上面的表达式返回元组从索引 Start 到索引 Stop 的部分,步长为 Stride

示例 1

在以下示例中,我们使用切片操作对元组进行切片。我们还使用负索引方法对元组进行切片。

tuple= ('a','b','c','d','e','f','g','h','i','j')
print(tuple[0:6])
print(tuple[1:9:2])
print(tuple[-1:-5:-2])

输出

上述代码产生以下结果

('a', 'b', 'c', 'd', 'e', 'f')
('b', 'd', 'f', 'h')
('j', 'h')

例子2

以下是关于此的另一个例子 −

my_tuple = ('t', 'u', 'r', 'i', 'a', 'l', 's', 'p','o', 'i', 'n', 't')
print(my_tuple[1:]) #Print elements from index 1 to end 
print(my_tuple[:2]) #Print elements from start to index 2 
print(my_tuple[5:12]) #Print elements from index 1 to index 3 
print(my_tuple[::5]) #Print elements from start to end using step size

输出

('u', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n', 't')
('t', 'u')
('l', 's', 'p', 'o', 'i', 'n', 't')
('t', 'l', 'n')



Python 精选笔记
如何按多列对PySpark DataFrame进行排序?如何在Pygame中移动游戏角色?如何在Python中同时打开两个文件?如何使用Python移动文件夹及其子文件夹的列表?如何使用Python将多个文件夹合并成一个文件夹?如何使用Python将多个Excel文件合并成一个单一文件?如何使用Python Pandas按照共同的键合并多个TSV文件?如何使用PIL将透明的PNG图片与另一张图片合并?Python中嵌套函数是如何工作的?Python中的全局变量和局部变量?在Python函数中如何使用全局变量?如何从Python对象中获取源代码?如何在Python中返回一个函数?如何在Python中安装matplotlib?Python - 分割包含散乱字符的字符串Python - 记录列表XORPython – 向记录的末尾添加数据Python - 键值大于K的记录在Python中垂直打印列表Python - 列表中字符串平均长度Python列表中的交替循环Python程序实现混淆词游戏Python-记录联合Python程序计算列表中元组的重复项Python程序:将字符串的字符转换为相反的大小写Python - 打印给定年份列表中的闰年数量Python - 打印所有子列表中的共同元素Python - 删除嵌套列表中的所有元素如何在Python列表中检查空格?在Python中引发异常到另一个异常Python字符串中的范围复制Python程序计算包含列表的列表中列表的数量修改给定Python列表中的重复值Python - 检查元素是否在指定范围内出现从Python的元组列表中删除所有字符串如何使用Pygame添加颜色呼吸效果?如何在Bokeh中添加颜色条如何在Bokeh中添加颜色选择器?使用Python程序显示带有星边框的数字半菱形图案Python使用ipaddress模块确定给定的IPv4地址是否为保留地址使用ipaddress模块的Python程序来确定给定的IP地址是公网还是私网Python程序通过平方和连接给定数字的奇数位数来创建一个OTPPython程序创建以零为中心的列表Python程序计算字符串中的字符数Python程序将米转换为码,反之亦然Python程序:统计文本文件中的元音、行数和字符数Python程序计算文本文件中的单词数量Python程序,用于计算文本文件中空格的数量将字典的值转换为字符串的Python程序Python程序将浮点数转换为指数Python程序将整数转换为指数Python程序将整数转换为罗马数字将整数列表转换为字符串列表的Python程序Python程序将XML转换为字典Python程序:通过重复键对应的值次数将字典转换为列表将Dict of list转换为CSV的Python程序使用正则表达式统计Python程序中大写字母、小写字母、特殊字符和数字值的个数Python元组的并集Python - 嵌套和混合列表中的类型转换Python - 将列表转换为单值列表的元组如何在Python中打印上标和下标?如何在Python中打印多个参数?如何在Plotly-Python中将图例定位在图表内部?如何使用Pandas绘制时序图表?如何使用SciPy在Python中绘制Ricker曲线?如何在Python列表中删除True值?如何使用Python将字典的值转换为绝对值?如何使用Python将字典转换为K个大小的字典?如何使用Python将浮点数舍入到2位小数?如何在Python中将Excel转换为CSV如何在Python中对元组进行索引和切片?如何在Python中判断一个对象是否有属性?在Python中创建实例对象如何使用Python获取城市的经纬度?如何在Python中获取整数输入?如何交换给定 NumPy 数组的列?如何使用NumPy抑制对小数的科学计数法使用?如何使用Python将XML数据存储到MySQL数据库中?如何在Pandas DataFrame中减去两列?如何在Pandas DataFrame中标准化数据?如何堆叠多个Pandas DataFrames?如何使用scikit-learn的train_test_split()函数拆分数据集如何在Python中分割数据以进行训练和测试,而不使用Sklearn在Python set中找到最大值和最小值Python程序:找到长方体的体积、表面积和空间对角线如何在Python程序中获取字符串的K个可能切片如何使用Altair在Python中制作密度图?生成一次性密码(OTP)的Python程序Python程序:找出数组中可被给定数整除的元素的XOR寻找巨大最大公约数(Jumbo GCD)子数组的Python程序如何在OpenCV Python中查找图像轮廓的边界矩形?如何在Python脚本所在的目录中打开文件?如何在Anaconda中安装Python包?如何在OpenCV Python中旋转图像?如何给定完整路径导入Python模块?如何在Python中从另一个函数调用变量?使用Python的Matplotlib在X轴上绘制日期如何在Python中不使用math模块进行平方根运算?如何在Python Tkinter中给Frame添加边框?如何从Python函数返回一个字典?Python程序获取元组中的第一个和最后一个元素如何求一个Python字典的值的总和?Python Pandas - 查找列的最大值并返回其对应的行值机器人流程自动化 - 简介机器学习中的逻辑回归损失函数如何从Python日期中减去一天?将物联网和机器学习相结合,使我们的未来更智能机器学习中的Boosting | Boosting和AdaBoost如何在Python中将时间戳字符串转换为datetime对象?如何在Python中将变量名转换为字符串?什么是Python中的.pyc文件?Python - 检查列表中的所有元素是否相同如何在Python Plotly中设置Y轴的范围?如何将Python日期转换为Unix时间戳?Python中的Turtle绘图编程如何在Python中的给定位置插入一个对象到列表中?如何在Python中进行日期验证?如何使用Python将两个图并排显示?在Python中的方法和函数之间的区别Python中的PYTHONPATH环境变量是什么?如何对Python日期字符串列表进行排序?在Python的Pandas中向现有的DataFrame中添加新列如何将Python元组转换为字典?Python - 使用Pandas读取没有标题的csv文件?如何使用OpenCV Python在图像中检测矩形和正方形?如何使用OpenCV在Python中改变图像的对比度和亮度?如何在Python中将日期时间转换为UTC时间戳?如何列出Python模块中的所有函数?Python程序查找字符串中的所有重复字符使用Python进行文件搜索如何在Python Tkinter中更改按钮大小?如何在Python shell中了解/更改当前目录?如何在Python中检查一个字符是否为大写字母?如何在OpenCV Python中对图像进行归一化?在Python中更新列表如何在Python中生成不重复的随机数?Python中元素的频率列表在Python中for循环和while循环的区别如何在Python的Plotly中绘制多条线在同一Y轴上?如何从Python列表中删除一个对象?如何在Python中使用Matplotlib和Pandas绘制CSV数据?