元组(tuple)—数据容器
一、元组的定义方式
元组同列表一样,可以封装多个不同类型的元素在内,但最大的不同点在于: 元组一旦定义完成,就不可修改,适用于传递不可被篡改的信息。
定义元组时使用小括号,用逗号隔开各个数据,数据可以是不同的数据类型。
#定义元组字面量
('a',1,'apple','花朵')
#定义元组变量
information=('风','雨',12,'watermelon')
#定义空元组
blank1=()#方式1
blank2=tuple()#方式2
当元组只有一个数据时,这个数据后面必须添加逗号,否则就不是元组,如下所示:
t1=('a',)
二、元组的下标索引
元组中的每一个元素都有其编号,称之为下标索引。同列表一样,分为正向和反向。
注意:下标索引的取值范围,超出范围无法取出元素,并且会报错。
我们通过代码来验证一下:
t=('a','b',24,90,'blue','milk','加菲猫','欧迪')
print((t[0]))
print((t[2]))
print((t[-1]))
print((t[-2]))
输出:
a
24
欧迪
加菲猫
三、元组的方法
元组由于不可修改的特性,所以操作方法较少,包括:查找指定元素的下标、统计指定元素在元组内的数量、统计元组内的元素个数。
3.1查找指定元素的下标
语法:元组.index(元素)
功能:查找指定元素在元组中的下标,如果找不到,报错ValueError
具体应用:
t=('a','b',24,90,'blue','milk','加菲猫','欧迪')
print(t.index('b'))
输出:
1
3.2统计指定元素在元组内的数量
语法:元组.count(元素)
具体应用:
t=('a','b',24,90,'blue','milk','加菲猫','b','欧迪')
print(t.count('b'))
输出:
2
3.3统计元组内的元素个数
语法:len(元组)
功能:得到一个int数字,表示元组内的元素数量
具体应用:
t=('a','b',24,90,'blue','milk','加菲猫','b','欧迪')
print(len(t))
输出:
9
元组的常用方法总结如下:
编号 | 语法 | 功能 |
1 | 元组.index(元素) | 查找某个数据,如果数据存在返回对应的下标,否则报错 |
2 | 元组.count(元素) | 统计某个数据在当前元组出现的次数 |
3 | len(元组) | 统计元组内的元素个数 |
四、元组的嵌套
元组支持嵌套:
元组的内容不可以修改,否则会直接报错。但当元组内的元素是列表类型时,可以修改元组内的列表的内容(修改元素、增加、删除等),如下面代码:
t2=(1,2,[1,2,3],['a','b','c '])
print(t2)
t2[2][1]='c'
t2[3][1]=1
print(t2)
输出:
(1, 2, [1, 2, 3], ['a', 'b', 'c '])
(1, 2, [1, 'c', 3], ['a', 1, 'c '])
但是元组中列表这个元素本身无法被修改:
t2=(1,2,[1,2,3],['a','b','c '])
t2[2]=0
print(t2)
运行会报错:
五、元组的遍历
将容器内的元素依次取出进行处理的行为,称之为遍历,或者迭代。元组的遍历方式与列表相同。
5.1用while循环遍历元组元素
t=('a','b',24)
i=0
while i<len(t):print(t[i])i+=1
输出:
a
b
24
5.1用for循环遍历元组元素
t=('a','b',24)
for i in t:print(i)
输出:
a
b
24
六、元组的特点
- 可以容纳多个数据
- 可以容纳不同类型的数据
- 数据有序存储(下标索引)
- 允许重复数据存在
- 不可以修改(不支持增加、删除、修改元素)