Python tuple() 函数

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)

上一篇: list()

下一篇: dict()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号