过去的教程讲得有点抽象,今天我们来形象地了解filter(),map()和reduce()的用法及区别。先来看filter()和map()。
这里如果用filter的话,说明匿名函数lambda给出的是个筛选条件,从1到19中筛选出奇数来,但这里如果用map的话,就好像变成了它判断对错的条件,只打印true和false。
而map一般的用法如下,参数有一个函数一个序列,将右边的序列经过左边的函数变换,生成新的序列。
而至于reduce这样的累加函数,并不是很常用,在python3中已将其从全局空间移除,现被放置在functools的模块里,用之前需要引入 from functools import reduce
利用reduce将1累加到19的程序如下: