python map/filter/reduce(转)

本文深入探讨了Python中的几个内置函数:map、filter和reduce的功能及用法。通过具体示例代码,展示了这些函数如何用于集合的数据处理,包括映射、过滤和归并等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python有几个内置的函数很有意思:map/filter/reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并,这几个词还是太抽象了,下面的代码精确的说明了这几个函数的用途:

[quote]map[/quote]

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

[quote]reduce[/quote]
def reduce_imp(function, sequence) :
arg1 = function(sequence[0])
for arg2 in sequence[1:] :
arg1 = function(arg1, arg2)
return arg1

[quote]filter[/quote]
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值