一、元组 tuple 简介
1、元组引入
列表 List 中的数据是可修改的 , 如果有这样一种场景 , 数据生成后 , 不能修改 , 列表就不适用了 ;
这里引入新的 数据容器 " 元组 tuple " ;
- 数据封装 : 元组 中可以 封装 多个 不同类型 的元素 , 该功能与 列表 相同 ;
- 不可修改 : 元组 一旦定义初始化完成 , 其中的数据就不可更改 ;
元组 可以被理解为 只读 List 列表 ;
2、元组定义
元组 使用小括号 () 定义 , 多个数据元素之间 , 使用逗号隔开 ;
元组 中的 数据元素 可以是 相同数据类型的 , 也可以是 不同数据类型的 ;
元组字面量 定义语法 :
代码语言:javascript复制(元素1, 元素2, 元素3)
元组变量 定义语法 :
代码语言:javascript复制变量名称 = (元素1, 元素2, 元素3)
空元组变量 定义语法 :
代码语言:javascript复制变量名称 = ()
变量名称 = tuple()
代码示例 :
代码语言:javascript复制"""
元组 tuple 代码示例
"""
# 定义元组字面量
("Tom", "Jerry", 18, False, 3.1415926)
# 定义元组变量
t1 = ("Tom", "Jerry", 18, False, 3.1415926)
# 打印 元组变量 信息
print(f"t1 类型 : {type(t1)}, 内容 : {t1}")
# 定义空元组变量
t2 = ()
t3 = tuple()
# 打印 空元组变量
print(f"t2 类型 : {type(t2)}, 内容 : {t2}")
print(f"t3 类型 : {type(t3)}, 内容 : {t3}")
执行结果 :
代码语言:javascript复制t1 类型 : <class 'tuple'>, 内容 : ('Tom', 'Jerry', 18, False, 3.1415926)
t2 类型 : <class 'tuple'>, 内容 : ()
t3 类型 : <class 'tuple'>, 内容 : ()
3、定义只有一个元素的元组
定义只有一个元素的元组 , 需要在这唯一的元素后面加上一个逗号 , 这个逗号必须存在 ;
定义只有一个元素的元组语法 :
代码语言:javascript复制元组变量 = (元素,)
如果在这唯一的元素后面没有逗号 , 则定义的就不是元组 ;
在下面的代码中 , 如果 唯一的元素后面没有 逗号 , (“Tom”) 变量被当做了 字符串 类型 ;
代码示例 :
代码语言:javascript复制# 定义单个元素元组变量
t4 = ("Tom",)
# 打印 元组变量 信息
print(f"t4 类型 : {type(t4)}, 内容 : {t4}")
# 定义单个元素元组变量
t5 = ("Tom")
# 打印 元组变量 信息
print(f"t5 类型 : {type(t5)}, 内容 : {t5}")
执行结果 :
代码语言:javascript复制t4 类型 : <class 'tuple'>, 内容 : ('Tom',)
t5 类型 : <class 'str'>, 内容 : Tom
4、元组嵌套
元组 中的 元素 数据类型 不限制 , 因此 元组 中也可以存放 元素 类型数据 , 也就是 元组嵌套 ;
代码示例 :
代码语言:javascript复制# 元组嵌套
t6 = (("Tom", 16), ("Jerry", 18))
# 打印 元组变量 信息
print(f"t6 类型 : {type(t6)}, 内容 : {t6}")
执行结果 :
代码语言:javascript复制t6 类型 : <class 'tuple'>, 内容 : (('Tom', 16), ('Jerry', 18))
二、完整代码示例
代码示例 :
代码语言:javascript复制"""
元组 tuple 代码示例
"""
# 定义元组字面量
("Tom", "Jerry", 18, False, 3.1415926)
# 定义元组变量
t1 = ("Tom", "Jerry", 18, False, 3.1415926)
# 打印 元组变量 信息
print(f"t1 类型 : {type(t1)}, 内容 : {t1}")
# 定义空元组变量
t2 = ()
t3 = tuple()
# 打印 空元组变量
print(f"t2 类型 : {type(t2)}, 内容 : {t2}")
print(f"t3 类型 : {type(t3)}, 内容 : {t3}")
# 定义单个元素元组变量
t4 = ("Tom",)
# 打印 元组变量 信息
print(f"t4 类型 : {type(t4)}, 内容 : {t4}")
# 定义单个元素元组变量, 不写逗号
t5 = ("Tom")
# 打印 元组变量 信息
print(f"t5 类型 : {type(t5)}, 内容 : {t5}")
# 元组嵌套
t6 = (("Tom", 16), ("Jerry", 18))
# 打印 元组变量 信息
print(f"t6 类型 : {type(t6)}, 内容 : {t6}")
执行结果 :
代码语言:javascript复制t1 类型 : <class 'tuple'>, 内容 : ('Tom', 'Jerry', 18, False, 3.1415926)
t2 类型 : <class 'tuple'>, 内容 : ()
t3 类型 : <class 'tuple'>, 内容 : ()
t4 类型 : <class 'tuple'>, 内容 : ('Tom',)
t5 类型 : <class 'str'>, 内容 : Tom
t6 类型 : <class 'tuple'>, 内容 : (('Tom', 16), ('Jerry', 18))