Python tuple() 语法
tuple() 是 Python 的一个内置函数,它接收一个可迭代对象作为参数,然后返回一个元组。换句话来说,tuple() 函数可以将 “其他可迭代对象” 转换为 “元组”。
语法:
tuple(iterable)说明:
tuple() 接收单个参数。
iterable(可选):是一个可迭代对象。如果省略 iterable,则返回一个空元组;如果提供 iterable,则创建一个由可迭代项组成的元组。
在 Python 中,元组类型具有以下特性:
- 不可变性 : 生成的元组不可修改(增删改元素会报错)。
- 哈希性 : 若元素均为不可变类型,元组可作字典键。
注意:
- 与 list() 不同,由于元组是不可变对象,如果传给 tuple() 的参数本身已经是一个元组,它会直接返回该元组的引用,而不会创建新的副本。
- 当从字典转换时,tuple() 默认只转换字典的键。
Python tuple() 摘要
| 使用频率 | 中 |
|---|---|
| 官方文档 | 查看 |
| 相关函数 | list()、dict()、set() |
Python tuple() 示例
接下来,我们通过几个简单的例子来讲解一下 Python tuple() 函数是如何使用的。
示例 1:tuple() 将 “列表或字符串” 转换为元组
# 列表转元组
a = ['绿', '叶', '网']
print(tuple(a))
# 字符串转元组
b = '绿叶网'
print(tuple(b))运行结果如下。
('绿', '叶', '网')
('绿', '叶', '网')示例 2:tuple() 将 “字典和集合” 转换为元组
# 字典转元组(仅保留键)
a = {'Jack': 1001, 'Lucy': 1002}
print(tuple(a))
# 集合转元组
b = {'红', '绿', '蓝'}
print(tuple(b)) # 集合无序,顺序可能变化运行结果如下。
('Jack', 'Lucy')
('红', '绿', '蓝')分析:
需要注意的是,如果 tuple() 的参数是一个字典,那么只会将字典的所有键作为元素组合成一个元组。
示例 3:tuple() 将 “其他可迭代对象” 转换为元组
a = range(5)
print(tuple(a))运行结果如下。
(0, 1, 2, 3, 4)分析:
当然了,你也可以使用自定义的可迭代对象作为 tuple() 函数的参数。
tuple() 最佳实践
虽然 tuple() 函数能够将其他可迭代对象转换为元组,但在实际开发中,我们通常会采用更简洁、更符合 Python 习惯的方式来创建和使用元组。
1. 推荐使用小括号创建元组
如果只是单纯想创建一个元组,我们更推荐使用小括号 “()” 的方式。这种方式比使用 tuple() 函数更简单方便。下面两种写法是等价的:
# 使用 “()”(推荐)
colors = ('红', '绿', '蓝')
# 使用 tuple()
colors = tuple(['红', '绿', '蓝'])2. 创建空元组
如果想要将一个可迭代对象转换为一个元组,此时就应该使用 tuple() 函数来实现了。此外,想要创建一个空元组,如果使用 “()” 语法糖,我们可以这样来写。
tup = ()3. 创建单元素元组
对于创建包含一个元素的元组,如果使用 “()” 语法糖,则要求在第 1 个元素后面加上逗号。
# 正确
tup = (666,)
# 错误
tup = (666)