update README.md
更新数据容器类数据
This commit is contained in:
317
数据容器操作指南.md
Normal file
317
数据容器操作指南.md
Normal file
@@ -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 中四种主要数据容器的基本操作及其特点,帮助理解它们各自的用途和限制。
|
||||
Reference in New Issue
Block a user