之前向大家介绍过python中map函数和filter函数使用方法(map函数)(filter函数),它们都作用于python中的序列。而且使用的参数第一个参数都是一个函数,第二个参数是一个可迭代序列,。那么它们在使用过程中有什么区别呢?
一、map函数
根据给定函数对指定序列做映射
1、语法
map(function, iterable, ...)
2、参数
第一个参数function是函数,用于做映射;
第二个参数iterable表示一个或多个序列。
3、使用lambda方法
print(list(map(lambda n : n % 2 == 1, range(20)))) # 结果 [False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True]
变成了它判断对错的条件,只打印true和false;
形成一个可迭代序列,然后用list函数把可迭代序列变成list形式。
二、filter函数
1、语法
filter(function, iterable)
2、参数
第一个参数function是函数,用于判断条件;
第二个参数iterable表示可迭代对象。
3、使用lambda方法
print(list(filter(lambda n : n % 2 == 1, range(20)))) # 结果 [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
匿名函数lambda给出的是个筛选条件,从1到19中筛选出奇数来;
filter将传入的函数依次作用到序列的每个元素,True则返回 False则不返回。
上一篇:弱引用如何在java中回收
下一篇:java中软引用的用法