简单的记录下这两个函数的功能:
list(filter(lambda x : x % 2, range(10)))
上例是返回了0-10之间的所有基数组成的列表。filter()有2个参数,第一个参数可以是一个函数或者None,第二个参数是一个可迭代的对象。如果filter函数的第一个参数是一个函数对象,那么,filter的作用就是将第二个参数的可迭代对象的每个结果作为第一个参数(函数)当中的参数值,计算出相应结果,并将所有结果为True的值组成一个可列表化的对象。如果filter函数的第一个参数是None,那么,第二个参数(可迭代对象)的每个结果为True的值将组成一个可列表化的对象。
list(map(lambda x : x, range(10)))
list(map(lambda x : x ** 2, [1,3,0,-1,10]))
map()函数与filter()函数是类似的,第一个参数是一个函数,第二个参数是一个可迭代的对象,第二个参数所有迭代的结果作为一个函数的参数,将第一个参数中的函数执行后的结果组成一个可列表化的对象,注意,这里与filter不同的是,不论第一个参数(函数)执行的结果是真还是假都会返回。
原文:http://www.cnblogs.com/paomaliuju/p/5107609.html