元组是Python中不可变的序列类型,创建后内部元素无法修改、添加或删除,适合存储不需要变更的数据集合。下面详细介绍在Python中创建元组的多种方法。

使用小括号创建元组
最基础的创建方式是使用英文小括号()包裹元素,元素之间用英文逗号分隔,即使只有一个元素,也需要保留逗号。
# 创建包含多个元素的元组 tuple1 = (1, 2, 3, "hello", True) print(tuple1) # 输出 (1, 2, 3, 'hello', True) # 创建单元素元组,必须加逗号,否则会被识别为普通数据类型 tuple2 = (5,) print(type(tuple2)) # 输出 <class 'tuple'> # 不加逗号的单元素括号包裹,实际不是元组 tuple3 = (5) print(type(tuple3)) # 输出 <class 'int'>
省略小括号创建元组
Python允许在创建元组时省略小括号,只要用逗号分隔多个元素,就会自动被识别为元组,这种写法在实际编码中也很常见。
# 省略小括号创建元组
tuple4 = 1, 2, 3, "test"
print(tuple4) # 输出 (1, 2, 3, 'test')
print(type(tuple4)) # 输出 <class 'tuple'>
# 省略小括号创建单元素元组
tuple5 = "python",
print(tuple5) # 输出 ('python',)
通过tuple()函数转换创建元组
Python内置的tuple()函数可以将其他可迭代对象转换为元组,支持转换的类型包括列表、字符串、集合、字典等。
# 将列表转换为元组
list_data = [1, 2, 3, 4]
tuple6 = tuple(list_data)
print(tuple6) # 输出 (1, 2, 3, 4)
# 将字符串转换为元组
str_data = "python"
tuple7 = tuple(str_data)
print(tuple7) # 输出 ('p', 'y', 't', 'h', 'o', 'n')
# 将字典的键转换为元组
dict_data = {"name": "张三", "age": 20}
tuple8 = tuple(dict_data)
print(tuple8) # 输出 ('name', 'age')
创建空元组
创建空元组有两种常用方式,一种是直接使用空的小括号,另一种是使用tuple()函数不传入任何参数。
# 方式1:使用空小括号 empty_tuple1 = () print(empty_tuple1) # 输出 () print(type(empty_tuple1)) # 输出 <class 'tuple'> # 方式2:使用tuple()函数 empty_tuple2 = tuple() print(empty_tuple2) # 输出 ()
创建元组的注意事项
- 元组的核心特性是不可变,创建后无法修改内部元素,尝试修改会抛出
TypeError异常。 - 单元素元组必须保留元素后的逗号,否则Python会将其解析为对应数据类型的普通值,而不是元组。
- 元组可以存储不同类型的元素,包括数字、字符串、列表、甚至其他元组,元素类型没有限制。
- 如果元组内部包含可变元素(如列表),可变元素内部的内容可以修改,但元组本身的结构不会改变。
# 元组内包含列表,列表内容可修改 tuple9 = (1, 2, [3, 4]) tuple9[2].append(5) print(tuple9) # 输出 (1, 2, [3, 4, 5]) # 尝试修改元组本身的不可变元素会报错 # tuple9[0] = 10 # 执行该行会抛出 TypeError: 'tuple' object does not support item assignment