元组(tuple)和数组(array)都是 Python 中用于存储多个值的数据结构,但它们在实现和使用上有一些区别。
元组是不可变的,而数组是可变的。即元组一旦创建,其内容就不能被修改,而数组可以进行添加、删除、更改等操作。
元组中的元素可以是任何类型的对象,包括不同类型的对象;而数组通常要求所有元素具有相同的数据类型,以便在底层存储时保持高效。
元组支持索引和切片操作,类似于字符串,但是数组有更多的方法和功能,如添加/删除元素、排序、搜索等。
在 Python 中,元组通常用于表示不可变的、有序的数据集合,例如函数返回多个值时、访问字典键值对、格式化字符串等场景;而数组通常用于存储大量同类型的数据,例如科学计算或者数值运算。
以下是一个简单的示例,展示了元组和数组的一些基本操作:
python复制代码
# 创建一个元组
my_tuple = (1, 2, 3)
# 创建一个数组
import array
my_array = array.array('i', [1, 2, 3])
# 访问元组和数组中的元素
print(my_tuple[0]) # 输出 1
print(my_array[1]) # 输出 2
# 尝试修改元组和数组中的元素
my_tuple[0] = 4 # 这行代码将抛出 TypeError 异常,因为元组是不可变的
my_array[1] = 5 # 将数组中的第二个元素修改为 5
# 在数组末尾添加一个新元素
my_array.append(4)
# 获取数组中元素的数量
print(len(my_array)) # 输出 4
# 将数组转换为列表
my_list = my_array.tolist()
在上面的示例中,我们创建了一个包含三个整数的元组和数组,并演示了如何访问和修改它们的元素。需要注意的是,尝试修改元组中的元素会导致 TypeError 异常,而向数组中添加或删除元素是可以的。此外,我们还展示了如何获取数组中的元素数量,并将其转换为列表。