Python元组基础:定义、特性与常用操作详解

Leo
Leo
发布时间:2026-10-15 | 4人浏览过
原创

本文详细介绍Python中元组(Tuple)的基础知识,包括其不可变序列特性、多种定义方式(含单元素与省略括号语法)以及核心操作方法。内容涵盖元组的创建、索引查找、整体删除、元素统计、合并与类型转换,帮助开发者掌握元组在数据存储与处理中的实际应用。

1. 元组基本知识

元组是一种不可变的序列类型,属于可以存储多种数据类型数据的集合。在语法上,元组使用小括号(())来标识开始和结束,内部元素之间以半角逗号(,)分隔。所谓“不可变”,是指一旦创建元组对象,便无法执行增加元素、调整元素顺序、修改现有元素或删除特定元素的操作。元组中的每个元素都对应一个唯一的下标,下标索引从0开始,依次递增为0、1、2……

1.元组的基本格式和用法

1)元组基本定义及使用


()     #空元组
test1 = ()    #定义空元组变量
a = tuple()    #元组函数
len(test1)     #统计元组元素个数

多数据类型的、多元素、重复元素元组对象定义:


test2 = (1,2,2,'1','a')

2)一个元素的元组定义及使用


>>> test3=(1)
>>> test3
1
>>> type(test3)
<class 'int'>

在定义包含单个元素的元组时,若直接写作test3=(1),Python解释器会将两侧的小括号视为数学运算中的分组符号,导致计算结果与test3=1相同,即变量类型为整数而非元组。因此,必须采用如下方式定义:


>>> test3 = (1,)
>>> type(test3)
<class 'tuple'>
>>> print(test3)
(1,)

3)省略小括号的元组定义及使用

Python语言为元组提供了一种特殊的默认格式,即省略小括号的写法。当变量或常量之间使用逗号(,)分隔时,即使省略了小括号(且同时没有使用中括号或大括号),系统也会将其识别为元组对象。


>>> name,age='wky',20
>>> (name,age)
('wky', 20)
>>> name,age
('wky', 20)
>>> #元组拆包
>>> test4 = ('wky',20)
>>> name1,age1=test4
>>> name1
'wky'
>>> age1
20
>>> 

元组的基本操作


2. 元组操作实例

1.建立元组


>>> select_nums=(1,3,5,7,9)
>>> select_Names=('中国','美国','英国','法国','意大利')
>>> select_nested=('排名',select_nums)
>>> select_nested
('排名', (1, 3, 5, 7, 9))
>>> list1=['lyj']
>>> select_nested1=('排名',select_nums,list1)
>>> select_nested1
('排名', (1, 3, 5, 7, 9), ['lyj'])
>>> 

元组可以接收各种数据类型的元素。需要注意的是,元组不支持对内部元素进行修改或增加操作;若需添加元素,必须重新定义一个新的元组对象。


>>> id(select_Names)
1675037279864
>>> select_Names=select_Names+('日本',)
>>> id(select_Names)
1675037272584
>>> select_Names
('中国', '美国', '英国', '法国', '意大利', '日本')

2.查找元素:通过元组下标实现。


>>> select_Names[0]
'中国'
>>> select_Names[3]
'法国'
>>> select_Names[:4]
('中国', '美国', '英国', '法国')
>>> 

此处展示循环查找技巧,实际上可以直接通过select_Names.index(‘法国')获取对应下标。使用循环属于冗余操作,其唯一优势在于:当目标元素不存在时,可避免直接调用index方法引发的英文报错信息。


>>> for get_name in select_Names:
	if get_name == '法国':
		print('法国的下标%d'%select_Names.index('法国'))
		break
法国的下标3
>>> 

3.删除元组:对元组的删除时不允许的,可以通过del函数,实现对整个元组对象的删除。


>>> test1=[4,'lyj',[]]
>>> del(test1)
>>> id(test1)
Traceback (most recent call last):
  File "<pyshell#54>", line 1, in <module>
    id(test1)
NameError: name 'test1' is not defined

4.统计元素


>>> #示例1:通过count()方法直接统计
>>> nums=(1,2,3,4,5,6,2,2)
>>> nums.ccount(2)
>>> nums.count(2)
3
>>> #示例2:通过len()函数
>>> len(nums)
8
>>> #示例3:统计元组所有元素的累计和
>>> sum1=0
>>> for add in nums:
	sum1 += add
>>> print('元组和为:%d'%(sum1))
元组和为:25
>>> #示例4:利用sum()函数直接对元组求和
>>> sum(nums)
25
>>> 

5.合并元组


>>> t1 = (1,2,3,4)
>>> t2 = (5,6,7,8)
>>> t3 = t1 + t2
>>> t3
(1, 2, 3, 4, 5, 6, 7, 8)

6.转换元组


>>> 
>>> #示例1:列表转换元组
>>> ls = ['wky','123','sgh']
>>> l_to_t = tuple(ls)
>>> type(l_to_t)
<class 'tuple'>
>>> #示例2:元组转换为列表
>>> t_to_l = list(l_to_t)
>>> type(t_to_l)
<class 'list'>
>>> t_to_l
['wky', '123', 'sgh']

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注本站的更多内容!

相关标签:

本站声明

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

Python 相关产品和应用

全部下载

专题列表