Pythonmap和filter函数的用法
发布时间:2023-06-13 01:37:32
Python中的map和filter函数都是高级函数,常用于列表处理。它们能够提高代码编写效率,简化代码逻辑,让数据处理更加高效。下面将分别讲解map和filter函数的用法。
一、 map函数
map函数的作用是将一个函数作用于一个可迭代对象的每个元素上,并返回一个新的可迭代对象。
语法:map(function, iterable, ...)
参数:
function:映射函数,即对迭代器中每个元素进行操作的函数。可以有多个、除了 个以外,其它参数都是可选的。
iterable:一个或多个序列,表示要被映射的数据。可以是列表、元组、集合等可迭代对象。
实例:
例1:将列表中每个元素都平方,并输出新的列表。
lst = [1, 2, 3, 4, 5] new_lst = list(map(lambda x: x**2, lst)) print(new_lst) # [1, 4, 9, 16, 25]
例2:将两个等长列表对应位置的元素相加,并输出新的列表。
lst1 = [1, 2, 3, 4, 5] lst2 = [5, 4, 3, 2, 1] new_lst = list(map(lambda x, y: x + y, lst1, lst2)) print(new_lst) # [6, 6, 6, 6, 6]
二、 filter函数
filter函数的作用是过滤序列,返回一个符合条件的新列表。其返回值是True或False。
语法:filter(function, iterable)
参数:
function:过滤函数,即对于iterable中每个元素进行判断的函数。只能有一个参数,返回值是True或False。
iterable:一个序列,表示要被过滤的数据。可以是列表、元组、集合等可迭代对象。
实例:
例1:将列表中的奇数过滤出来,并输出新的列表。
lst = [1, 2, 3, 4, 5] new_lst = list(filter(lambda x: x%2 == 1, lst)) print(new_lst) # [1, 3, 5]
例2:将列表中的不满足条件的元素过滤出来,并输出新的列表。
lst = ['apple', 'banana', 'pear', 'orange', 'watermelon'] new_lst = list(filter(lambda x: len(x)>5, lst)) print(new_lst) # ['banana', 'orange', 'watermelon']
总结:
map和filter函数都是对可迭代对象进行操作,返回一个新的可迭代对象。map函数用于对可迭代对象中的元素进行操作并返回一个新的列表;而filter函数用于过滤掉不符合条件的元素并返回一个新的列表。当我们在处理列表或者集合时,这两个函数可以有效地提高代码的简洁性和效率。
