Python 使用 `filter` 和 `map` 函数处理数据

Document 对象参考手册 Python3 实例

在 Python 中,filtermap 是两个非常有用的内置函数,它们可以帮助我们以函数式编程的方式处理数据。filter 函数用于过滤序列中的元素,而 map 函数用于对序列中的每个元素应用一个函数。

假设我们有一个包含数字的列表,我们想要过滤出所有的偶数,并将这些偶数乘以 2。我们可以使用 filtermap 函数来实现这个目标。

实例

# 定义一个包含数字的列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 使用 filter 函数过滤出偶数
even_numbers = filter(lambda x: x % 2 == 0, numbers)

# 使用 map 函数将偶数乘以 2
doubled_even_numbers = map(lambda x: x * 2, even_numbers)

# 将结果转换为列表并打印
result = list(doubled_even_numbers)
print(result)

代码解析:

  1. numbers 是一个包含数字 1 到 10 的列表。
  2. filter(lambda x: x % 2 == 0, numbers) 使用 filter 函数过滤出 numbers 列表中的偶数。lambda x: x % 2 == 0 是一个匿名函数,用于判断一个数是否为偶数。
  3. map(lambda x: x * 2, even_numbers) 使用 map 函数将 even_numbers 中的每个偶数乘以 2。lambda x: x * 2 是一个匿名函数,用于将输入的数乘以 2。
  4. list(doubled_even_numbers)map 函数的结果转换为列表。
  5. print(result) 打印最终的结果。

输出结果:

实例

[4, 8, 12, 16, 20]

Document 对象参考手册 Python3 实例