python 地图/filter/reduce(转)
python map/filter/reduce(转)
python有几个内置的函数很有意思:map/filter/reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并,这几个词还是太抽象了,下面的代码精确的说明了这几个函数的用途:
对于这种逻辑性强的东西,用语言来描述是无助的,代码则要清晰的多。
update: 其实我并不喜欢用这几个函数,因为我总不能记得他们的功能,同样,如果代码中使用map/filter/reduce这几个函数,会节省一些代码,但看的人也一样会不太明白,所以呢,我建议:慎用。
文章来源:http://www.liuzhongshu.com/code/python-map-filter-reduce.html
python有几个内置的函数很有意思:map/filter/reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并,这几个词还是太抽象了,下面的代码精确的说明了这几个函数的用途:
引用
map
def map_imp(function, sequence) : if function is None: return list(sequence) retvals = [] for element in sequence: if (function(element)) retvals.append(element) return retvals
引用
reduce
def reduce_imp(function, sequence) : arg1 = function(sequence[0]) for arg2 in sequence[1:] : arg1 = function(arg1, arg2) return arg1
引用
filter
def filter_imp(function, sequence) : retvals = [] for element in sequence: if (function is None and element) or function(element) : retvals.append(element) return retvals
对于这种逻辑性强的东西,用语言来描述是无助的,代码则要清晰的多。
update: 其实我并不喜欢用这几个函数,因为我总不能记得他们的功能,同样,如果代码中使用map/filter/reduce这几个函数,会节省一些代码,但看的人也一样会不太明白,所以呢,我建议:慎用。
文章来源:http://www.liuzhongshu.com/code/python-map-filter-reduce.html