Module 02 · Python Data StructuresPython 数据结构
CheatSheet: Dictionaries & Sets字典与集合速查表
备忘单:Python 数据结构 第二部分
字典
| 包/方法 | 描述 | 代码示例 |
|---|---|---|
| 创建字典 | 字典是一种内置数据类型,表示一组键值对的集合。字典用花括号 {} 包围。 |
示例:dict_name = {} # 创建一个空字典person = { "name": "John", "age": 30, "city": "New York"} |
| 访问值 | 您可以使用对应的 keys 访问字典中的值。 |
语法:Value = dict_name["key_name"]示例: name = person["name"]age = person["age"] |
| 添加或修改 | 向字典中插入一个新的键值对。如果键已存在,则更新值;否则,创建一个新条目。 | 语法:dict_name[key] = value示例: person["Country"] = "USA" # 将创建一个新条目。person["city"] = "Chicago" # 更新同一键的现有值 |
| del | 从字典中移除指定的键值对。如果键不存在,则引发 KeyError。 |
语法:del dict_name[key]示例: del person["Country"] |
| update() | update() 方法将提供的字典合并到现有字典中,添加或更新键值对。 |
语法:dict_name.update({key: value})示例: person.update({"Profession": "Doctor"}) |
| clear() | clear() 方法清空字典,移除其中所有键值对。执行此操作后,字典仍然可以访问并可以进一步使用。 |
语法:dict_name.clear()示例: grades.clear() |
| 键存在性 | 您可以使用 in 关键字检查字典中是否存在某个键。 |
示例:if "name" in person:print("字典中存在名称。") |
| copy() | 创建字典的浅拷贝。新字典包含与原始字典相同的键值对,但它们在内存中仍然是独立的对象。 | 语法:new_dict = dict_name.copy()示例: new_person = person.copy()new_person = dict(person) # 创建字典副本的另一种方式 |
| keys() | 从字典中检索所有键并将其转换为列表。适合使用列表方法对键进行迭代或处理。 | 语法:keys_list = list(dict_name.keys())示例: person_keys = list(person.keys()) |
| values() | 从字典中提取所有值并将其转换为列表。此列表可用于进一步处理或分析。 | 语法:values_list = list(dict_name.values())示例: person_values = list(person.values()) |
| items() | 将所有键值对作为元组检索并转换为元组列表。每个元组由一个键及其对应的值组成。 | 语法:items_list = list(dict_name.items())示例: info = list(person.items()) |
集合
| 包/方法 | 描述 | 代码示例 |
|---|---|---|
| add() | 可以使用 add() 方法向集合中添加元素。重复元素会被自动移除,因为集合只存储唯一值。 |
语法:set_name.add(element)示例: fruits.add("mango") |
| clear() | clear() 方法移除集合中的所有元素,导致集合为空。它就地更新集合。 |
语法:set_name.clear()示例: fruits.clear() |
| copy() | copy() 方法创建集合的浅拷贝。对副本的任何修改不会影响原始集合。 |
语法:new_set = set_name.copy()示例: new_fruits = fruits.copy() |
| 定义集合 | 集合是无序的唯一元素集合。集合用花括号 {} 包围。它们用于存储不同的值并执行集合操作。 |
示例:empty_set = set() # 创建一个空集合fruits = {"apple", "banana", "orange"} |
| discard() | 使用 discard() 方法从集合中移除特定元素。如果未找到该元素,则忽略。 |
语法:set_name.discard(element)示例: fruits.discard("apple") |
| issubset() | issubset() 方法检查当前集合是否是另一个集合的子集。如果当前集合的所有元素都存在于另一个集合中,则返回 True,否则返回 False。 |
语法:is_subset = set1.issubset(set2)示例: is_subset = fruits.issubset(colors) |
| issuperset() | issuperset() 方法检查当前集合是否是另一个集合的超集。如果另一个集合的所有元素都存在于当前集合中,则返回 True,否则返回 False。 |
语法:is_superset = set1.issuperset(set2)示例: is_superset = colors.issuperset(fruits) |
| pop() | pop() 方法移除并返回集合中的任意元素。如果集合为空,则引发 KeyError。当顺序无关紧要时,使用此方法移除元素。 |
语法:removed_element = set_name.pop()示例: removed_fruit = fruits.pop() |
| remove() | 使用 remove() 方法从集合中移除特定元素。如果未找到该元素,则引发 KeyError。 |
语法:set_name.remove(element)示例: fruits.remove("banana") |
| 集合操作 | 对集合执行各种操作:并集、交集、差集、对称差集。 |
语法:union_set = set1.union(set2)intersection_set = set1.intersection(set2)difference_set = set1.difference(set2)sym_diff_set = set1.symmetric_difference(set2)示例: combined = fruits.union(colors)common = fruits.intersection(colors)unique_to_fruits = fruits.difference(colors)sym_diff = fruits.symmetric_difference(colors) |
| update() | update() 方法将来自另一个可迭代对象的元素添加到集合中。它保持元素的唯一性。 |
语法:set_name.update(iterable)示例: fruits.update(["kiwi", "grape"]) |
