Python元组(Tuple)基础教程:创建、访问、操作与方法详解
本文详细介绍Python中Tuple元组的定义、特性及常用操作。涵盖元组的创建语法、元素访问与索引、连接与重复运算、切片截取,以及len、max、min等内置方法。重点解析元组不可变性及包含可变对象时的特殊行为,并演示二维元组的取值方式,帮助开发者掌握Python核心数据结构。
Python元组概述与特性
本文通过具体实例深入解析Python中的Tuple(元组)数据类型,旨在为读者提供清晰的操作指南与参考。
Tuple元组
1. 概述
元组本质上是有序的集合,其结构与列表(List)高度相似。主要区别在于表示符号:列表使用方括号[],而元组使用圆括号()。
核心特性:元组一旦初始化完成,其内容便不可发生任何改变。
元组的创建与访问
2. 元组的创建
创建格式如下:
元组名 = (元素1, 元素2, 元素3, ...)
#创建空的元组
tuple1 = ()
print(tuple1)
#创建带有元素的元组
tuple2 =(22, 33, 14, 109)
print(tuple2)
#与列表类似,元组中的元素类型可以不同
tuple3 = (23,True,"good")
print(tuple3)
#定义只有一个元素的元组
tuple4 = (1) #这定义的不是元组而是整数1
tuple4 = (1,) #定义一个元素的元组定义时必须加一个逗号",",用来消除歧义
运行输出示例:
() (22, 33, 14, 109) (23, True, 'good')
3. 元组元素的访问
3.1 访问元组中的元素:
访问格式为:元组名[下标]。
tuple1 = (20,40,201,401)
print(tuple1[0])
#注意使用下标取值的时候,要注意下标的取值范围,不要下标越界
#获取最后一个元素
print(tuple1[-1])
运行输出示例:
20 401
元组的修改与删除机制
3.2 修改元组
通常认为元组初始化后不可更改,但若需“修改”元组内容,该如何操作?
严格来说,元组本身不可修改,但列表可以。由于元组内的元素可以是任意类型,我们可以在元组中嵌入一个列表。通过修改该列表的内容,表面上看似乎改变了元组。
tuple1 = ('hello', 'you',[20, 30])
#修改元组
tuple1[0] = 'hi'
#报错,元组不能修改
tuple1[2][1] = 'good'
注意:这种“修改”并非真正改变了元组结构,而是改变了元组中列表元素的值。所谓“元组不变”,是指元组中每个元素的引用指向永远不变。一旦元素指向某个列表对象,该引用便不可更改指向其他对象,但该列表对象本身的内容是可变的。
tuple1 = ('hello', 'you',[20, 30])
#修改元组
tuple1[2][1] = 'good'
print(tuple1)
运行输出示例:
('hello', 'you', [20, 'good'])
3.3 删除元组
虽然元组不可变,但可以使用del语句删除整个元组对象。
tuple1 = ('hello', 'hi')
del tuple1
print(tuple1)
#此时会报错
元组的常用操作:连接、重复与截取
4. 元组操作
4.1 元组连接组合
语法格式:
元组1 + 元组2
示例代码:元组3 = 元组1 + 元组2
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
print(tuple1 + tuple2)
运行结果:
(1, 2, 3, 4, 5, 6)
注意:元素连接组合操作并未改变原有的元组,而是创建并返回了一个新的元组。
4.2 元组重复
语法格式:
元组2 = 元组1 * n
tuple1 = (1, 2, 3)
tuple2 = tuple1 * 3
print(tuple2)
运行结果:
(1, 2, 3, 1, 2, 3, 1, 2, 3)
4.3 判断元素是否在元组中
语法格式:
元素 in 元组
若元素存在则返回True,否则返回False。
tuple1 = (1, 2, 3)
print( 1 in tuple1)
运行结果:
True
tuple1 = (1, 2, 3)
print( 5 in tuple1)
运行结果:
False
4.4 元组的截取
语法格式:
元组名[start:end]
- 截取的元组范围是[start, end),即包含start索引,不包含end索引。
- 功能:获取从开始下标到结束下标之前(不含结束下标)的所有元素。
- 若不指定start,则默认从开头开始截取,直到指定位置。
- 若不指定end,则默认从指定位置截取,直到元组结尾。
tuple1 = (1, 2, 3, 8, 'hello', 'good')
tuple2 = tuple1[2:5]
print(tuple2)
运行结果:
(3, 8, 'hello')
tuple1 = (1, 2, 3, 8, 'hello', 'good')
tuple2 = tuple1[:5]
print(tuple2)
运行结果:
(1, 2, 3, 8, 'hello')
tuple1 = (1, 2, 3, 8, 'hello', 'good')
tuple2 = tuple1[3:]
print(tuple2)
运行结果:
(8, 'hello', 'good')
元组的内置方法
5. 元组的方法
5.1 len(tuple)
功能:获取元组中元素的总个数。
tuple1 = (1, 2, 3, 8, 'hello', 'good')
print(len(tuple1))
运行结果:
6
5.2 max(tuple)
功能:获取元组中元素的最大值。
tuple1 = (1, 2, 3, 8, 20, 13)
print(max(tuple1))
运行结果:
20
5.3 min(tuple)
功能:获取元组中元素的最小值。
tuple1 = (1, 2, 3, 8, 20, 13)
print(min(tuple1))
运行结果:
1
5.4 tuple(list)
功能:将列表转换为元组。
list1 = [1, 2, 3, 8, 20, 13]
print(tuple(list1))
运行结果:
(1, 2, 3, 8, 20, 13)
二维元组及其取值
6. 二维元组
与二维列表类似,若一个元组中的元素依然是元组,则称为二维元组。
定义格式:元组名 = (元组1, 元组2, ...)
tuple1 = ((1, 2, 3),(4, 5, 6),(7, 8, 9))
二维元组取值方式:
元组名[下标1][下标2]
tuple1 = ((1, 2, 3),(4, 5, 6),(7, 8, 9))
#获取第一个元组的第一个元素
print(tuple1[0][0])
运行结果:
1
更多Python相关内容感兴趣的读者可查看本站专题:《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。
希望本文所述对大家Python程序设计有所帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













