003_map_filter_reduce

 

"""
目录: 
    一 map
    二 filter
    三 reduce
    四 总结
"""

 

 

一 map

def square(x):
    return x ** 2


if __name__ == '__main__':
    list_1 = [1, 2, 3, 4, 5]
    map_object = map(square, list_1)
    print(map_object)       # <map object at 0x0000022C060F6FD0>
    print(list(map_object)) # [1, 4, 9, 16, 25]

    map_object = map(lambda x: x ** 2, [1, 2, 3, 4, 5])
    print(list(map_object)) # [1, 4, 9, 16, 25]

 


二 filter

def is_odd(n):
    return n % 2 == 1

if __name__ == '__main__':
    my_list = [i for i in range(10)]

    temlist = filter(is_odd, my_list)
    print(list(temlist))    # [1, 3, 5, 7, 9]

 


三 reduce

from functools import reduce


def mult(x, y):
    return x * y

if __name__ == '__main__':
    sum_1 = reduce(mult, [1, 2, 3, 4, 5])
    sum_2 = reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
    print(sum_1)    # 120
    print(sum_2)    # 15

 

 

四 总结

iterable 以列表为例子

map     : 列表所有元素(外部),进行某种相同操作。
reduce  : 列表所有元素之间(内部),进行某种相同操作;  过滤
filter  : 列表所有元素之间(内部),进行某种相同操作;  计算

 

posted @ 2022-07-06 03:20  火焰马  阅读(17)  评论(0编辑  收藏  举报