From 6df85593a206367016e087cf07d67261f228d554 Mon Sep 17 00:00:00 2001 From: jycdt <2627723488@qq.com> Date: Sat, 14 Jun 2025 16:02:38 +0800 Subject: [PATCH] =?UTF-8?q?update=20README.md=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AE=B9=E5=99=A8=E7=B1=BB=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 数据容器操作指南.md | 317 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 317 insertions(+) create mode 100644 数据容器操作指南.md diff --git a/数据容器操作指南.md b/数据容器操作指南.md new file mode 100644 index 0000000..057bf94 --- /dev/null +++ b/数据容器操作指南.md @@ -0,0 +1,317 @@ +## 数据容器操作指南 + +### 列表(List) + +#### 特点 +- 可变数据类型 +- 有序 +- 元素可重复 +- 可以存储不同类型的元素 + +#### 增加操作 +``` +# append() 方法在列表的末尾添加一个元素。 +list.append(obj) + +# insert() 方法将指定对象插入到指定索引处。 +list.insert(index, obj) + +# extend() 方法用新列表扩展原列表。 +list1.extend(list2) +``` + +#### 删除操作 +``` +# pop() 方法移除列表中指定索引位置的元素,默认为最后一个元素,并返回该元素。 +list.pop([index=-1]) + +# remove() 方法移除列表中第一个匹配的指定值的元素。 +list.remove(obj) + +# clear() 方法用于清空列表。 +list.clear() + +# del 关键字可以删除列表或列表中的元素。 +del list[index] +del list +``` + +#### 修改操作 +``` +# 直接通过索引修改元素。 +list[index] = new_value + +# 使用切片修改多个元素。 +list[start:end] = iterable +``` + +#### 查询操作 +``` +# index() 方法返回指定元素在列表中的第一个索引位置。 +list.index(obj) + +# count() 方法统计某个元素在列表中出现的次数。 +list.count(obj) + +# in 运算符检查列表是否包含指定元素。 +element in list + +# len() 函数获取列表长度。 +len(list) + +# 使用索引访问元素。 +list[index] +``` + +### 元组(Tuple) + +#### 特点 +- 不可变数据类型 +- 有序 +- 元素不可变 +- 可以存储不同类型的元素 + +#### 增加/删除/修改操作 +元组是不可变的,所以不支持增加、删除和修改操作。 + +#### 查询操作 +``` +# index() 方法返回指定元素在元组中的第一个索引位置。 +tuple.index(obj) + +# count() 方法统计某个元素在元组中出现的次数。 +tuple.count(obj) + +# in 运算符检查元组是否包含指定元素。 +element in tuple + +# len() 函数获取元组长度。 +len(tuple) + +# 使用索引访问元素。 +tuple[index] +``` + +### 集合(Set) + +#### 特点 +- 可变数据类型 +- 无序 +- 元素唯一 +- 不允许重复 + +#### 增加操作 +``` +# add() 方法向集合中添加一个元素。 +set.add(obj) + +# update() 方法用其他可迭代对象更新集合。 +set.update(iterable) +``` + +#### 删除操作 +``` +# remove() 方法从集合中移除指定的元素。如果元素不存在,则引发 KeyError。 +set.remove(obj) + +# discard() 方法从集合中移除指定的元素。如果元素不存在,则不会引发异常。 +set.discard(obj) + +# pop() 方法随机移除并返回集合中的一个元素。 +set.pop() + +# clear() 方法清空集合。 +set.clear() + +# del 关键字可以删除集合。 +del set +``` + +#### 修改操作 +集合没有直接的修改操作,因为元素是唯一的且无序。 + +#### 查询操作 +``` +# in 运算符检查集合是否包含指定元素。 +element in set + +# len() 函数获取集合大小。 +len(set) +``` + +### 字典(Dictionary) + +#### 特点 +- 可变数据类型 +- 无序(Python 3.7之前) +- 键必须是不可变类型且唯一 +- 值可以是任意类型 + +#### 增加操作 +``` +# 直接赋值添加键值对。 +dict[key] = value + +# update() 方法用另一个字典或可迭代对象更新当前字典。 +dict.update(other_dict) +``` + +#### 删除操作 +``` +# pop() 方法移除指定键并返回其对应的值。如果键不存在,则返回默认值或引发 KeyError。 +dict.pop(key[, default]) + +# popitem() 方法移除并返回字典中的任意一个键值对。 +dict.popitem() + +# clear() 方法清空字典。 +dict.clear() + +# del 关键字可以删除字典或字典中的键值对。 +del dict[key] +del dict +``` + +#### 修改操作 +``` +# 直接通过键修改值。 +dict[key] = new_value +``` + +#### 查询操作 +``` +# get() 方法返回指定键的值,如果键不存在则返回默认值。 +dict.get(key[, default]) + +# keys() 方法返回字典的所有键。 +dict.keys() + +# values() 方法返回字典的所有值。 +dict.values() + +# items() 方法返回字典的键值对元组列表。 +dict.items() + +# in 运算符检查字典是否包含指定键。 +key in dict + +# len() 函数获取字典的大小。 +len(dict) + +# 使用键访问值。 +dict[key] +``` + +### 通用操作 +- `in` 运算符:适用于所有数据容器,用于检查是否存在某个元素。 +- `len()` 函数:适用于所有数据容器,用于获取容器的大小。 + +### 特有操作 +- 列表特有:`append()`, `insert()`, `extend()`, `pop()`, `remove()`, `clear()`, 索引赋值等。 +- 元组特有:由于不可变性,没有增加、删除、修改操作。 +- 集合特有:`add()`, `update()`, `remove()`, `discard()`, `pop()`, `clear()` 等,主要用于处理唯一元素。 +- 字典特有:`get()`, `keys()`, `values()`, `items()`, `pop()`, `popitem()` 等,主要用于处理键值对。 + +### 数据容器之间的相互转换 + +### 列表(List) 与其他类型转换 + +#### 列表转元组 +``` +# 使用 tuple() 函数将列表转换为元组。 +tuple_from_list = tuple(list_example) +``` + +#### 列表转集合 +``` +# 使用 set() 函数将列表转换为集合,这会去除重复元素。 +set_from_list = set(list_example) +``` + +#### 列表转字典 +``` +# 列表包含键值对元组时,可以使用 dict() 函数转换为字典。 +dict_from_list = dict([(key1, value1), (key2, value2)]) +``` + +### 元组(Tuple) 与其他类型转换 + +#### 元组转列表 +``` +# 使用 list() 函数将元组转换为列表。 +list_from_tuple = list(tuple_example) +``` + +#### 元组转集合 +``` +# 使用 set() 函数将元组转换为集合,这会去除重复元素。 +set_from_tuple = set(tuple_example) +``` + +#### 元组转字典 +``` +# 元组包含键值对元组时,可以使用 dict() 函数转换为字典。 +dict_from_tuple = dict(tuple_example) +``` + +### 集合(Set) 与其他类型转换 + +#### 集合转列表 +``` +# 使用 list() 函数将集合转换为列表。结果的顺序是随机的。 +list_from_set = list(set_example) +``` + +#### 集合转元组 +``` +# 使用 tuple() 函数将集合转换为元组。结果的顺序是随机的。 +tuple_from_set = tuple(set_example) +``` + +#### 集合转字典 +``` +# 集合不能直接转换为字典,除非每个元素是一个键值对元组。 +dict_from_set = dict((element for element in set_example if isinstance(element, tuple))) +``` + +### 字典(Dictionary) 与其他类型转换 + +#### 字典转列表 +``` +# 使用 list() 函数将字典的键、值或项转换为列表。 +list_from_dict_keys = list(dict_example.keys()) +list_from_dict_values = list(dict_example.values()) +list_from_dict_items = list(dict_example.items()) +``` + +#### 字典转元组 +``` +# 使用 tuple() 函数将字典的键、值或项转换为元组。 +tuple_from_dict_keys = tuple(dict_example.keys()) +tuple_from_dict_values = tuple(dict_example.values()) +tuple_from_dict_items = tuple(dict_example.items()) +``` + +#### 字典转集合 +``` +# 使用 set() 函数将字典的键、值或项转换为集合。 +set_from_dict_keys = set(dict_example.keys()) +set_from_dict_values = set(dict_example.values()) +set_from_dict_items = set(dict_example.items()) +``` + +### 总结 +- **列表**:可以转换为其他所有数据容器类型。 +- **元组**:可以转换为其他所有数据容器类型。 +- **集合**:可以转换为列表、元组和字典(需要特殊条件)。 +- **字典**:可以转换为列表、元组和集合。 + +此部分补充了Python中各种数据容器之间的相互转换方法,帮助理解它们如何在不同场景下灵活应用。 + +### 总结 +- **列表**:适合需要频繁增删改查的场景。 +- **元组**:适合存储不变的数据。 +- **集合**:适合需要确保元素唯一性的场景。 +- **字典**:适合需要快速查找和关联数据的场景。 + +此文档提供了 Python 中四种主要数据容器的基本操作及其特点,帮助理解它们各自的用途和限制。 \ No newline at end of file