目录
Python快速上手(七)
Python3 字典和集合
Python3 字典
字典(Dictionary)是 Python 中的一种数据结构,用于存储键值对(key-value pairs)。每个键(key)都与一个值(value)相关联,键必须是唯一的,而值则可以是任何数据类型。字典是一种无序的数据类型,因此不能通过索引来访问元素。
创建字典
你可以使用花括号 {} 或者 dict() 函数来创建字典。
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
empty_dict = {} # 创建一个空字典
emptyDict = dict() # 创建一个空字典
访问字典中的值
你可以通过键来访问字典中的值。
name = my_dict["name"] # "Alice"
age = my_dict["age"] # 30
修改字典中的值
你可以通过键来修改字典中的值。
my_dict["age"] = 31
添加新的键值对
你可以通过赋值的方式向字典中添加新的键值对。
my_dict["gender"] = "female"
删除键值对
你可以使用 del 关键字或 pop() 方法来删除字典中的键值对。
del my_dict["age"] # 删除指定键值对
my_dict.pop("city") # 删除指定键值对,并返回对应的值
字典方法
Python 提供了许多内置方法来操作字典,例如:
- keys(): 返回字典中所有键组成的视图。
- values(): 返回字典中所有值组成的视图。
- items(): 返回字典中所有键值对组成的视图。
- get(): 根据键获取对应的值,如果键不存在,则返回默认值。
- update(): 合并另一个字典或可迭代对象中的键值对到当前字典。
- clear(): 删除字典中的所有键值对。
keys = my_dict.keys()
values = my_dict.values()
items = my_dict.items()
age = my_dict.get("age", 0) # 如果键不存在,则返回默认值 0
my_dict.update({"country": "USA", "age": 31}) # 合并另一个字典中的键值对
my_dict.clear() # 清空字典
注意事项
- 字典是可变的,可以动态地添加、删除和修改键值对。
- 字典是无序的,因此不能通过索引来访问元素。
- 字典中的键必须是唯一的,但值可以重复。
Python3 集合
集合(Set)是 Python 中的一种无序、不重复的数据结构,用于存储唯一的元素。集合可以用于检查成员资格、删除重复数据等操作。
创建集合
你可以使用花括号 {} 或者 set() 函数来创建集合。
my_set = {1, 2, 3, 4, 5}
empty_set = set() # 创建一个空集合
添加元素
你可以使用 add() 方法来向集合中添加单个元素,或使用 update() 方法添加多个元素。
my_set.add(6) # 向集合中添加单个元素
my_set.update({7, 8}) # 向集合中添加多个元素
删除元素
你可以使用 remove() 或 discard() 方法来删除集合中的指定元素。区别在于,如果删除的元素不存在于集合中,remove() 方法会引发 KeyError 错误,而 discard() 方法则不会。
my_set.remove(3) # 删除指定元素
my_set.discard(10) # 删除指定元素,如果元素不存在,不会引发错误
添加新的键值对
你可以通过赋值的方式向字典中添加新的键值对。
my_dict["gender"] = "female"
集合方法
Python 提供了许多内置方法来操作集合,例如:
- union(): 返回两个集合的并集。
- intersection(): 返回两个集合的交集。
- difference(): 返回两个集合的差集。
- symmetric_difference(): 返回两个集合的对称差集。
- issubset(): 判断一个集合是否是另一个集合的子集。
- issuperset(): 判断一个集合是否是另一个集合的超集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)
intersection_set = set1.intersection(set2)
difference_set = set1.difference(set2)
symmetric_difference_set = set1.symmetric_difference(set2)
is_subset = set1.issubset(set2)
is_superset = set1.issuperset(set2)
集合运算符
Python 提供了一些运算符来执行集合操作,例如 |、&、-、^ 分别表示并集、交集、差集和对称差集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2
intersection_set = set1 & set2
difference_set = set1 - set2
symmetric_difference_set = set1 ^ set2
注意事项
- 集合是无序的,因此不能通过索引来访问元素。
- 集合中的元素必须是不可变的,例如数字、字符串、元组等。
- 集合中不能包含可变的元素,例如列表、字典等。