欢迎访问宙启技术站
智能推送

Python中内置的map()和filter()函数详解

发布时间:2023-06-08 05:09:59

Python中的map()和filter()函数都是内置函数,用于处理序列和集合的函数。这两个函数在实际编程中非常常用,下面详细介绍它们的用法。

一、map()函数

map()函数的作用是将一个序列中的每个元素都执行同一个函数,然后返回一个新的序列,新序列中的元素为原序列中每个元素执行函数后的结果。map()函数的语法如下:

map(function, iterable, ...)

参数:

function:要执行的函数

iterable:要处理的序列或集合

返回值:一个迭代器,元素为序列中每个元素执行函数后的结果

示例如下:

# 将列表中的元素平方
a = [1, 2, 3, 4, 5]
b = map(lambda x: x ** 2, a)
print(list(b))  # 输出:[1, 4, 9, 16, 25]

上面的代码中,map()函数对a列表中的每个元素进行平方操作,并将结果放到一个迭代器中,最后通过list()函数将迭代器转化为列表,输出结果为[1, 4, 9, 16, 25]。

二、filter()函数

filter()函数的作用是对序列中每个元素执行一个函数,并将结果为真的元素放入一个新的序列中返回。filter()函数的语法如下:

filter(function, iterable)

参数:

function:要执行的函数

iterable:要处理的序列或集合

返回值:一个迭代器,元素为序列中每个元素执行函数后结果为True的元素

示例如下:

# 过滤列表中的偶数
a = [1, 2, 3, 4, 5]
b = filter(lambda x: x % 2 == 0, a)
print(list(b))  # 输出:[2, 4]

上面的代码中,filter()函数对a列表中的每个元素进行判断,判断结果为偶数的元素会被放入一个迭代器中,最后通过list()函数将迭代器转化为列表,输出结果为[2, 4]。

总结:map()函数和filter()函数是Python内置的强大函数,它们能够对序列和集合进行非常便捷的操作,大大减轻了我们的编程工作量。