python中什么是列表(list)和元组(tuple)?它们有什么区别?
2025年9月14日 by admin
在 Python 中,列表(list)和元组(tuple)都是常用的数据结构,用于存储多个元素。它们有很多相似之处,但也有一些重要的区别。
列表是一个有序的、可变的数据结构,可以包含多个元素,元素之间用逗号分隔,整个列表用方括号 [] 包括起来。
my_list = [1, 2, 3, "apple", 4.5]
# 访问元素
print(my_list[0]) # 输出 1
# 修改元素
my_list[1] = 10
print(my_list) # 输出 [1, 10, 3, "apple", 4.5]
# 添加元素
my_list.append("banana")
print(my_list) # 输出 [1, 10, 3, "apple", 4.5, "banana"]
# 删除元素
del my_list[2]
print(my_list) # 输出 [1, 10, "apple", 4.5, "banana"]
元组是一个有序的、不可变的数据结构,用圆括号 () 来表示。与列表类似,元组也可以包含多个元素。
my_tuple = (1, 2, 3, "apple", 4.5)
# 访问元素 print(my_tuple[0]) # 输出 1 # 元组是不可变的,不能修改元素 # my_tuple[1] = 10 # 这将会引发 TypeError # 获取元组长度 print(len(my_tuple)) # 输出 5
| 特性 | 列表(List) | 元组(Tuple) |
|---|---|---|
| 定义 | 用方括号 [] 定义 | 用圆括号 () 定义 |
| 可变性 | 可变(可以修改、添加或删除元素) | 不可变(元素一旦定义不可修改) |
| 速度 | 相对较慢,因为是可变的 | 相对较快,因为是不可变的 |
| 内存占用 | 占用更多内存 | 占用较少内存 |
| 适用场景 | 需要修改数据时使用 | 数据不需要修改时使用 |
| 支持操作 | 可以修改、添加、删除元素 | 只支持访问元素,不能修改 |
| 元素是否可以重复 | 可以重复 | 可以重复 |
# 列表的可变性: my_list = [1, 2, 3] my_list[0] = 10 # 可以修改 print(my_list) # 输出 [10, 2, 3] # 元组的不可变性: my_tuple = (1, 2, 3) # my_tuple[0] = 10 # 会报错,因为元组是不可变的