flatmap的作用
时间: 2024-01-27 10:09:14 浏览: 57
Swift 进阶 —— map 和 flatMap的使用
5星 · 资源好评率100%
flatmap是一种操作,用于将一个集合中的每个元素应用于一个函数,并将结果展平为一个新的集合。它类似于map操作,但是当函数的结果是一个集合时,会自动展开结果。
例如,假设我们有一个包含多个列表的列表:
```
listOfLists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
```
如果我们使用map操作,我们将得到一个新的列表,其中每个元素都是原始列表中的每个子列表应用函数后的结果:
```
result = list(map(lambda x: [i * 2 for i in x], listOfLists))
# 输出: [[2, 4, 6], [8, 10, 12], [14, 16, 18]]
```
但如果我们使用flatmap操作,我们将得到一个新的列表,其中每个元素是原始列表中的每个子列表应用函数后的结果展开后的单个元素:
```
result = [i * 2 for sublist in listOfLists for i in sublist]
# 输出: [2, 4, 6, 8, 10, 12, 14, 16, 18]
```
通过使用flatmap,我们可以更方便地将多个集合合并为一个单一的集合。
阅读全文