Python | 不就是数据类型吗(元组篇)

tech2026-02-16  1

元组(tuple)

一、初识元组

1.定义

元组是一个不可修改的,元素以逗号分隔的被小括号包围的有序序列。

2.特点

有顺序,可重复,不可修改,可存放不同数据类型的多个数据

3.声明
(1)声明空元组(无意义)
t = tuple() # 推荐 t = () # 很容易与四则运算中的小括号混淆
(2) 声明非空元组
一个元素(无意义) t = tuple(['a']) # 不推荐,类型转换 t = ('a',) # 推荐。逗号很重要,声明一个元素元组时,必须要有。 t = ('a') # 不是元组,括号是四则运算中的括号,t='a' 多个元素 seasons = ("春", "夏", "秋", "冬") # 推荐 seasons = tuple(["春", "夏", "秋", "冬"]) # 不推荐,语法繁琐

二、元组的操作

因为元组是不可变类型,所以他是没有增删改操作的。但是因为元组也是个序列,所以对序列的操作,元组也是可操作的,例如索引、切片、拼接、重复、赋值以及遍历,前面列表已经讲解过,这里不再做介绍。

1.查看
已知索引查元素: 元组名[index]已知元素查索引: 元组名.index(item)统计元素出现次数: count(item)
2.嵌套

顾名思义,元组的嵌套就是元组里套元组,元组里也可以嵌套其他可变类型的元素。

t = (1,'s',1.3,[5,6,7],(8,9,10)) # 获取数字7 t[3][2] t[2] = 20 # 报错,原因元组不可变
3.类型转换
list(iterable)/tuple(iterable)括号里面的是可迭代对象 t = (1,'s',1.3,[5,6,7],(8,9,10)) l = list(t) # [1,'s',1.3,[5,6,7],(8,9,10)] t2 = tuple(l) # (1,'s',1.3,[5,6,7],(8,9,10)) s = "hello world" t3 = tuple(s) # ('h' ,'e' ,'l' ,'l' ,'o' ,' ' ,'w' ,'o' ,'r' ,'l' ,'d') t4 = tuple(100) # 报错 100是整型,不可迭代

三、枚举

内置方法:enumerate(iterable,[start=0])
参数:iterable是一个可迭代对象,如列表、元组。start可以定义编号从几开始,可写可不写。枚举这个方法通常用来编号使用,返回一个元组(index,value)如果遍历该对象,一个变量接收那么该变量是元组类型。如果有两个变量接收,那么第一个变量是编号,第二个为元素本身。 li = [1,2,3,4,5] t= (6,7,8,9,10) for i in t: print(i) # 单个变量接收 for i in enumerate(t): #默认从0 开始编号 print(i) # 两个变量接收 for i,j in enumerate(li,start=100): # 从100开始编号 print("编号是:",i) print("对应的元素是:",j)

四、应用场景

用户自定义元组:需要保存的数据为不能改变的内容。如用元组保存全班人的姓名。某些函数返回值是元组类型。
最新回复(0)