当我们在 Python 中使用集合时,有两种主要的数据结构可用:Set 和 dict。虽然它们看起来很相似,但实际上在使用方式和性能上有一些不同之处。
Set
Set 是一种无序的、可哈希、不可重复的集合数据类型。在 Python 中,我们可以使用 set() 函数来创建一个空的集合,或者使用大括号 {} 来创建一个含有元素的集合。
创建集合
下面是两个创建集合的示例:
# 创建空集合
set1 = set()
print(set1) # 输出 set()
# 创建含有元素的集合
set2 = {1, 2, 3}
print(set2) # 输出 {1, 2, 3}
添加、删除元素
我们可以使用 add() 方法向集合中添加元素,使用 remove() 或 discard() 方法删除集合中的元素。
set2 = {1, 2, 3}
# 向集合中添加元素
set2.add(4)
print(set2) # 输出 {1, 2, 3, 4}
# 删除集合中的元素
set2.remove(2)
print(set2) # 输出 {1, 3, 4}
需要注意的是,如果我们使用 remove() 方法删除的元素不存在于集合中,将会抛出 KeyError 异常。而使用 discard() 方法则不会抛出异常。
集合操作
Set 拥有一些常用的集合操作,例如并集、交集和差集等:
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# 并集
set3 = set1 | set2
print(set3) # 输出 {1, 2, 3, 4, 5, 6}
# 交集
set4 = set1 & set2
print(set4) # 输出 {3, 4}
# 差集
set5 = set1 - set2
print(set5) # 输出 {1, 2}
Dict
Dict 是 Python 中另一个非常常用的数据结构,它是一个由键-值对组成的无序集合。
创建字典
我们可以使用大括号 {} 和冒号 : 来创建一个带有键值对的字典。如果我们想要创建一个空的字典,可以使用 dict() 函数来实现。
# 创建带有键值对的字典
dict1 = {"name": "Alice", "age": 18}
print(dict1) # 输出 {'name': 'Alice', 'age': 18}
# 创建空字典
dict2 = dict()
print(dict2) # 输出 {}
访问元素
我们可以通过字典中的键来访问相应的值。如果该键不存在于字典中,Python 将会抛出 KeyError 异常。另外,字典中的元素没有顺序之分。
dict1 = {"name": "Alice", "age":18}
# 访问字典中的元素
print(dict1["name"]) # 输出 Alice
# 字典中的元素没有顺序
dict2 = {"age": 18, "name": "Bob"}
print(dict1 == dict2) # 输出 False
添加、删除元素
我们可以使用以下方法来向字典中添加或删除元素:
dict1 = {"name": "Alice", "age":18}
# 向字典中添加元素
dict1["gender"] = "female"
print(dict1) # 输出 {'name': 'Alice', 'age': 18, 'gender': 'female'}
# 删除字典中的元素
del dict1["age"]
print(dict1) # 输出 {'name': 'Alice', 'gender': 'female'}
字典操作
字典也有一些常用的操作,例如获取所有的键或值,使用 items() 方法获取所有的键值对。
dict1 = {"name": "Alice", "age": 18}
# 获取所有的键
keys = dict1.keys()
print(keys) # 输出 dict_keys(['name', 'age'])
# 获取所有的值
values = dict1.values()
print(values) # 输出 dict_values(['Alice', 18])
# 获取所有的键值对
items = dict1.items()
print(items) # 输出 dict_items([('name', 'Alice'), ('age', 18)])
以上就是 Python 中 Set 和 dict 的详细介绍。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中的 Set 与 dict - Python技术站