Python 使用 `filter` 和 `map` 函数处理数据
在 Python 中,filter
和 map
是两个非常有用的内置函数,它们可以帮助我们以函数式编程的方式处理数据。filter
函数用于过滤序列中的元素,而 map
函数用于对序列中的每个元素应用一个函数。
假设我们有一个包含数字的列表,我们想要过滤出所有的偶数,并将这些偶数乘以 2。我们可以使用 filter
和 map
函数来实现这个目标。
实例
# 定义一个包含数字的列表
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)
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)
代码解析:
numbers
是一个包含数字 1 到 10 的列表。filter(lambda x: x % 2 == 0, numbers)
使用filter
函数过滤出numbers
列表中的偶数。lambda x: x % 2 == 0
是一个匿名函数,用于判断一个数是否为偶数。map(lambda x: x * 2, even_numbers)
使用map
函数将even_numbers
中的每个偶数乘以 2。lambda x: x * 2
是一个匿名函数,用于将输入的数乘以 2。list(doubled_even_numbers)
将map
函数的结果转换为列表。print(result)
打印最终的结果。
输出结果:
实例
[4, 8, 12, 16, 20]
点我分享笔记