【七】元组类型(tuple)
【1】作用
-
元组(tuple)是一种不可变的序列类型,类似于列表,用于存储多个有序元素。
-
元组与列表的主要区别在于元组的元素不能被修改、删除或添加,是不可变的数据类型。
-
元组通常用于存储相关联的数据,保持数据的完整性。
【2】定义
-
元组通过小括号
()
定义,其中的元素可以是不同的数据类型,用逗号,
分隔。 -
可以使用索引访问元组的元素。
# 定义元组
my_tuple = (1, 'hello', 3.14, True)
# 访问元组元素
first_element = my_tuple[0]
second_element = my_tuple[1]
print(first_element) # 1
print(second_element) # 'hello'
【3】使用
(1)元组的不可变性
-
由于元组是不可变的,不能对元素进行修改、删除或添加。
# 尝试修改元组的元素(会报错)
my_tuple[0] = 42 # TypeError: 'tuple' object does not support item assignment
# 尝试删除元组的元素(会报错)
del my_tuple[1] # TypeError: 'tuple' object doesn't support item deletion
# 尝试添加元素到元组(会报错)
my_tuple.append('new_element') # AttributeError: 'tuple' object has no attribute 'append'
(2)元组的基本操作
-
元组支持基本的操作,如切片、拼接等。
# 切片操作
sliced_tuple = my_tuple[1:3]
print(sliced_tuple) # ('hello', 3.14)
# 拼接操作
new_tuple = my_tuple + ('world', False)
print(new_tuple) # (1, 'hello', 3.14, True, 'world', False)
(3)元组解包
-
元组解包是一种将元组中的元素分配给多个变量的方法。
# 元组解包
a, b, c, d = my_tuple
print(a) # 1
print(b) # 'hello'
print(c) # 3.14
print(d) # True
(4)元组的应用场景
-
用于函数返回多个值
-
保持数据的不可变性,适用于一些常量集合的场景
-
元组作为字典的键(因为元组是不可变的)
# 函数返回多个值
def get_coordinates():
return 10, 20, 30
x, y, z = get_coordinates()
print(x, y, z) # 10 20 30
# 元组作为字典的键
coordinates_dict = {(1, 2, 3): 'Point A', (4, 5, 6): 'Point B'}
print(coordinates_dict[(1, 2, 3)]) # Point A
-
元组是一个灵活且强大的数据类型,适用于许多场景,特别是需要不可变性的情况。
【八】集合类型(set)
【1】作用
-
集合(set)是一种无序、不重复的数据类型,用于存储多个独立的元素。
-
集合通常用于去除重复元素,执行集合运算(如并集、交集、差集等),以及检查成员资格。
【2】定义
-
集合通过大括号
{}
定义,其中的元素是不可重复的,可以包含不同的数据类型。 -
可以使用
set()
构造函数创建集合。
# 定义集合
my_set = {1, 2, 3, 4, 5}
# 使用构造函数创建集合
another_set = set([3, 4, 5, 6, 7])
【3】使用
(1)集合的基本操作
-
集合支持基本的操作,如添加元素、删除元素、成员测试等。
# 添加元素
my_set.add(6)
# 删除元素
my_set.remove(3)
# 成员测试
is_member = 2 in my_set
(2)集合运算
-
集合支持多种集合运算,如并集、交集、差集等。
set_a = {1, 2, 3, 4}
set_b = {3, 4, 5, 6}
# 并集
union_set = set_a.union(set_b)
# 交集
intersection_set = set_a.intersection(set_b)
# 差集
difference_set = set_a.difference(set_b)
(3)集合的不可重复性
-
集合中的元素是不可重复的,即相同的元素不会重复存储。
unique_set = {1, 2, 3, 1, 2, 4, 5}
print(unique_set) # {1, 2, 3, 4, 5}
-
集合类型是一种灵活且强大的数据类型,特别适用于需要执行集合运算、去除重复元素的场景。