数据容器:tuple(元组)
元组一旦定义完成就不可以被修改。修改会报错。
元组定义
定义元组使用小括号,用逗号隔开,数据可以是不同类型数据。
定义元组变量
变量名称=(元素,元素,…,元素)
定义空元组
①变量名称=()
②变量名称=tuple()
注:元组只有一个数据时,一定要在数据后面加逗号,否则不成元组。
嵌套元组
元组也支持嵌套:t1=((1,2,3),(4,5,6))
通过下标索引取出内容:t5[1][2] # 应该是6
示例:
# 定义元组
t1 = (1, "hi", True)
t2 = ()
t3 = tuple()
print(f"t1的类型:{
type(t1)},内容是:{
t1}")
print(f"t2的类型:{
type(t2)},内容是:{
t2}")
print(f"t3的类型:{
type(t3)},内容是:{
t3}")
# 定义单个元素的元组
t4 = ("hi",) # 一个元素的话一定要在后面加一个逗号,不然不是元组
print(f"t4的类型:{
type(t4)},内容是:{
t4}")
# 元组的嵌套
t5 = ((1, 2, 3), (4, 5, 6))
print(f"t5的类型:{
type(t5)},内容是:{
t5}")
# 通过下标索引取出内容
print(t5[1][2]) # 应该是6
运行结果:
t1的类型:<class ‘tuple’>,内容是:(1, ‘hi’, True)
t2的类型:<class ‘tuple’>,内容是:()
t3的类型:<class ‘tuple’>,内容是:()
t4的类型:<class ‘tuple’>,内容是:(‘hi’,)
t5的类型:<class ‘tuple’>,内容是:((1, 2, 3), (4, 5, 6))
6
元组的相关操作
元组由于不可修改的特性,所以其操作方法非常少。
①index():查找某个数据,如果数据存在返回对应的下标,否则报错。
②count():统计某个数据在当前元组出现的次数。
③len(元组):统计元组内的元素个数。
示例:
# 元组的操作:index()查找元素下标
t6 = ("e", "二狗", "学python", "e")
index = t6.index("二狗")
print(f"二狗在t6中的下标是:{
index}")
# 元组的操作:count统计方法
num = t6.count("e")
print(f"e在元组的个数:{
num}")
# 元组的操作:len函数统计元组元素的数量
num = len(t6)
print(f"t6元素个数:{
num}")
运行结果:
二狗在t6中的下标是:1
e在元组的个数:2
t6元素个数:4
注意:可以修改元组内的list的内容(修改,增加,删除,反转等),但是不可以替换list为其它list或其它类型。
示例:
# 修改包含list的元组
t7 = (1, 2, ["hi", "ergou"])
print(f"t9的内容:{
t7}")
t7[2][0] = "嗨"
t7[2][1] = "二狗"
print(f"t9的内容:{
t7}")
运行结果:
t7的内容:(1, 2, [‘hi’, ‘ergou’])
t7的内容:(1, 2, [‘嗨’, ‘二狗’])
同列表一样,元组也可以被遍历。
可以使用while循环和for循环遍历它。
示例:
t6 = ("我", "二狗", "学python")
# 元组的遍历:while
index = 0
while index < len(t6):
print(f"元组的元素有:{
t6[index]}")
# 至关重要
index += 1
# 元组的遍历:for
for element in t6:
print(f"2元组的元素有:{
element}")
运行结果:
元组的元素有:我
元组的元素有:二狗
元组的元素有:学python
2元组的元素有:我
2元组的元素有:二狗
2元组的元素有:学python
元组的特点
1、可以容纳多个元素
2、可以容纳不同类型的元素(混装)
3、数据是有序存储的(有下标序号)
4、允许重复数据存在
5、不可以修改(但是可以修改元组里面列表里的元素)
6、支持for循环
多数特性和list一致,不同点在于不可修改的特性。