数据处理与编程基础:集合操作、高阶函数与递归
立即解锁
发布时间: 2025-08-18 00:31:27 阅读量: 1 订阅数: 3 

### 数据处理与编程基础:集合操作、高阶函数与递归
#### 1. 集合操作基础
在数据处理中,集合是一组相同类型事物的组合,它可以为空,也可以包含任意数量的元素。下面我们通过猫的集合来介绍几种常见的集合操作。
##### 1.1 过滤操作
过滤操作是指从初始集合中选择满足特定条件的元素,形成一个新的集合。例如,我们有一个猫的集合,初始集合为空时,最终集合也为空。
| 集合类型 | 名称 | 颜色 | 重量 |
| ---- | ---- | ---- | ---- |
| 初始集合 | 无 | 无 | 无 |
| 最终集合(初始) | 无 | 无 | 无 |
然后依次向集合中添加猫的信息:
- 首先添加“Spider”,颜色为“tabby”,重量为2.8。
| 集合类型 | 名称 | 颜色 | 重量 |
| ---- | ---- | ---- | ---- |
| 最终集合 | "Spider" | "tabby" | 2.8 |
- 接着不添加下一只猫,最终集合保持不变。
| 集合类型 | 名称 | 颜色 | 重量 |
| ---- | ---- | ---- | ---- |
| 最终集合 | "Spider" | "tabby" | 2.8 |
- 最后添加“Wallace”,颜色为“tabby”,重量为4.0。
| 集合类型 | 名称 | 颜色 | 重量 |
| ---- | ---- | ---- | ---- |
| 最终集合 | "Wallace" | "tabby" | 4.0 |
| | "Spider" | "tabby" | 2.8 |
过滤操作的流程如下:
```mermaid
graph TD;
A[开始] --> B{初始集合是否为空};
B -- 是 --> C[最终集合为空];
B -- 否 --> D[检查下一个元素是否满足条件];
D -- 是 --> E[将元素添加到最终集合];
D -- 否 --> F[不添加元素];
E --> G{是否还有元素};
F --> G;
G -- 是 --> D;
G -- 否 --> H[结束];
C --> H;
```
##### 1.2 折叠操作
折叠操作是将集合中所有元素的属性组合起来,形成一个最终的值。例如,我们要计算所有猫的总重量。
假设初始集合如下:
| 名称 | 颜色 | 重量 |
| ---- | ---- | ---- |
| "Wallace" | "tabby" | 4.0 |
| "Mog" | "black" | 4.5 |
| "Spider" | "tabby" | 2.8 |
计算总重量的过程如下:
- 初始时,最终重量为0.0。
- 首先处理“Wallace”,重量为4.0,最终重量变为4.0。
- 接着处理“Mog”,重量为4.5,最终重量变为4.0 + 4.5 = 8.5。
- 最后处理“Spider”,重量为2.8,最终重量变为8.5 + 2.8 = 11.3。
折叠操作的流程如下:
```mermaid
graph TD;
A[开始] --> B{初始集合是否为空};
B -- 是 --> C[最终值为初始值];
B -- 否 --> D[取出下一个元素];
D --> E[将元素属性与最终值组合];
E --> F{是否还有元素};
F -- 是 --> D;
F -- 否 --> G[结束];
C --> G;
```
##### 1.3 检查操作
检查操作是判断集合中的所有元素是否都满足某个条件,返回一个布尔值。例如,检查每只猫的重量是否都超过2.0千克。
假设初始集合如下:
| 名称 | 颜色 | 重量 |
| ---- | ---- | ---- |
| "Wallace" | "tabby" | 4.0 |
| "Mog" | "black" | 4.5 |
| "Spider" | "tabby" | 2.8 |
检查过程如下:
- 首先检查“Wallace”,重量为4.0,超过2.0千克,继续检查剩余集合。
- 接着检查“Mog”,重量为4.5,超过2.0千克,继续检查剩余集合。
- 最后检查“Spider”,重量为2.8,超过2.0千克,由于集合已处理完,最终检查结果为“true”。
检查操作的流程如下:
```mermaid
graph TD;
A[开始] --> B{初始集合是否为空};
B -- 是 --> C[最终检查结果为
```
0
0
复制全文
相关推荐










