欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

map filter reduce

程序员文章站 2022-05-10 19:58:14
...

为函数编程提供便利,之前学习过,这篇算是温习
温故而知新

list1 = [1,2,3,4,5]
list2 = list(map(lambda x : x**2, list1))
print(list2)
def multiply(x):
    return x*x
def add(x):
    return x+x
funcs = [multiply , add]
for i in range(5):
    value = map(lambda  x:x(i) , funcs)
    print(list(value))

map filter reduce
python3 以上就需要把迭代器转换为可迭代对象再来使用 list()
filter 过滤列表中的元素
返回一个由所有符合要求的元素所构成的列表

list1 = range(-5,5)

xiao = filter(lambda x:x<0 , list1)
print(list(xiao))
for i in range(10):#不取10
    print(i)

map filter reduce
对一个列表进行一些计算并返回结果时,使用reduce

from functools import reduce
list1 = reduce((lambda x,y:x * y), [1,2,3,4,5,6])
print(list1)

需要导入模块,这个方法返回的是一个具体的数值,不同于前两个方法,返回的为一个迭代器