Python元组(Tuple)基础教程:创建、访问、操作与方法详解

听雨眠
听雨眠
发布时间:2026-10-13 | 3人浏览过
原创

本文详细介绍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程序设计有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表