Python 内置函数:tuple()
·
内置函数 tuple() 用于创建不可变的元组对象。它既可以将可迭代对象转换为元组,也可直接创建一个空元组,在数据不可变性要求较高的场景中非常实用。
一、函数语法
tuple(iterable=None)
参数:
iterable:可选。任意可迭代对象,如列表、字符串、集合、字典、生成器等。
返回值:
返回一个元组对象(tuple 类型)。
如果省略参数 iterable,则返回一个空元组 ()。
二、基础用法示例
1、创建空元组
t = tuple()# t = ()print(t) # 输出:()
2、将列表转换为元组
lst = [1, 2, 3]t = tuple(lst)print(t) # 输出:(1, 2, 3)
3、将字符串转换为元组
s = "abc"t = tuple(s)print(t) # 输出:('a', 'b', 'c')
4、将字典转换为元组
d = {"a": 1, "b": 2}t = tuple(d)print(t) # 输出:('a', 'b') # 只包含字典的键
如果需要将键值对转换为元组,应使用 tuple(d.items())。
d = {"a": 1, "b": 2}print(tuple(d)) # ('a', 'b')print(tuple(d.items())) # (('a', 1), ('b', 2))
三、进阶技巧
1、元组是不可变对象
虽然元组本身不可变,但如果元组中包含可变对象(如列表),这些对象内部的内容仍可修改。
t = (1, [2, 3])t[1][0] = 99print(t) # 输出:(1, [99, 3])
2、与 * 解包语法结合
tuple() 常与解包语法一起使用来快速收集数据。
def demo(*args): t = tuple(args) print(t)
demo(1, 2, 3) # 输出:(1, 2, 3)
这其实是 *args 收集参数后再转为元组的常见写法。
3、与生成器配合
可以将生成器结果一次性转为元组。
t = tuple(x**2 for x in range(5))print(t) # 输出:(0, 1, 4, 9, 16)
四、tuple 对象特点与注意事项
1、类型
tuple 是内置的不可变序列类型之一。
2、不可变性
创建后不能增加、删除或修改元素(但可包含可变对象)。
3、支持序列操作
支持索引、切片、迭代、in 成员测试等操作。
4、可哈希性
当且仅当元组中所有元素都是可哈希对象时,元组才是可哈希的,可作为字典键或集合成员。
五、补充说明
1、性能优势
元组比列表轻量,因为其内存结构更简单,元素不可变,因此在迭代和查找时通常略快。
2、常见应用场景
(1)作为字典的键(键必须是可哈希的不可变类型)
(2)固定数据集合(如坐标 (x, y))
(3)函数返回多个值(返回的是一个元组)
3、空元组快捷写法
除了 tuple(),还可用 () 直接创建空元组。

“点赞有美意,赞赏是鼓励”
更多推荐



所有评论(0)