[Python 基础课程]元组
元组
简单来说,元组就像一个不可变的列表。这意味着一旦你创建了一个元组,你就不能再修改它的内容(添加、删除或更改元素)。元组使用圆括号 ()
来定义,让我们看一些元组的例子:
# 一个包含整数的元组
numbers = (1, 2, 3, 4, 5)
# 输出: (1, 2, 3, 4, 5)
print(numbers)
# 输出: <class 'tuple'>
print(type(numbers))# 一个包含字符串的元组
fruits = ('apple', 'banana', 'cherry')
# 输出: ('apple', 'banana', 'cherry')
print(fruits)# 一个包含不同数据类型的元组
mixed = ('hello', 10, 3.14, True)
# 输出: ('hello', 10, 3.14, True)
print(mixed)# 一个包含单个元素的元组 (注意逗号)
single_element = ('python',)
# 输出: ('python',)
print(single_element)
# 输出: <class 'tuple'>
print(type(single_element))# 一个空元组
empty_tuple = ()
# 输出: ()
print(empty_tuple)
注意:
- 当创建一个只包含一个元素的元组时,必须在该元素后面添加一个逗号
,
,这是为了区分它和用圆括号包裹的单个值 - 空元组可以用一对空的圆括号
()
来表示
与列表类似,元组也具有以下特性:
- 有序性 (Ordered): 元组中的元素是有序的,它们会按照你定义的顺序存储,并且这个顺序不会改变。这意味着你可以通过索引来访问元组中的元素
- 允许重复元素 (Allows Duplicates): 元组中可以包含值相同的元素
索引
和列表一样,元组也支持索引、切片。
使用索引的例子:
my_tuple = ('a', 'b', 'c', 'd')
# 输出: a
print(my_tuple[0])
# 输出: c
print(my_tuple[2])
# 输出最后一个元素: d
print(my_tuple[-1])
使用切片的例子:
my_tuple = ('p', 'y', 't', 'h', 'o', 'n')
# 输出: ('y', 't', 'h')
print(my_tuple[1:4])
# 输出: ('p', 'y', 't')
print(my_tuple[:3])
# 输出: ('t', 'h', 'o', 'n')
print(my_tuple[2:])
# 输出: ('p', 'y', 't', 'h', 'o', 'n') (复制整个元组)
print(my_tuple[:])
元组的不可变性
元组最关键的特性就是它的不可变性 (Immutable)。一旦创建,你就无法修改元组中的任何元素。这意味着你不能:
- 修改元素的值:
my_tuple[0] = 'z'
(会引发TypeError
) - 添加新的元素:
my_tuple.append('e')
(元组没有append()
方法) - 删除已有的元素:
del my_tuple[1]
(会引发TypeError
)
# 定义一个元组
my_tuple = (1, 2, 3, 'a', 'b')# 尝试修改元组中的一个元素
# 下面这行代码会引发 TypeError
my_tuple[0] = 10