filter、map、reduce学习

filter

def my_map(func, array):

    new_array = []

    for i in array:       

        new_array.append(func(i))

    return new_array

print(my_map(lambda x: x > 5, range(10)))

print(list(map(lambda x: x > 5, range(10))))                                                

结果:

[False, False, False, False, False, False, True, True, True, True]

[False, False, False, False, False, False, True, True, True, True]

map

def my_filter(func, array):                                                                                

    new_array = []

    for i in array:

        if func(i):

            new_array.append(i)                                                                 

    return new_array

print(my_filter(lambda x: x > 5, range(10)))

print(list(filter(lambda x: x > 5, range(10))))

结果:

[6, 7, 8, 9]

[6, 7, 8, 9]

reduce

from functools import reduce

def my_reduce(func, array, init):                                                                    

    list_array = list(array)

    if init is None:

        res = list_array.pop(0)

    else:

        res = init

    for i in list_array:

        res = func(res, i)

    return res

print(my_reduce(lambda x, y: x + y, range(5), 10))

print(reduce(lambda x, y: x + y, range(5), 10))

结果:

20

20



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值