第七章第6讲:python的高阶函数-map、reduce、filter

第七章第6讲:python的高阶函数-map、reduce、filter,第1张

概述1.map()函数: map()函数接收2个参数,一个是函数,一个是序列(list) map()将传入的函数依次作用到序列的每个元素上,并把结果作为新的序列(list) # 案例要求:讲一个纯数字的list中的值,都变成平方,且放在另一个list中# 方式1:通过传统的for方式实现要求print("方式1:")def f(x): return x * xL = []

1.map()函数:

map()函数接收2个参数,一个是函数,一个是序列(List)
map()将传入的函数依次作用到序列的每个元素上,并把结果作为新的序列(List)
# 案例要求:讲一个纯数字的List中的值,都变成平方,且放在另一个List中# 方式1:通过传统的for方式实现要求print("方式1:")def f(x):    return x * xL = []for n in [1,2,3,4]:    L.append(f(n))print(L)# =========================# 方式2:通过map()函数print("方式2:")def f(x):    return x * xprint(List(map(f,[1,4])))结果:方式1:[1,4,9,16]方式2:[1,16]

2.reduce()函数:

reduce()函数是把一个函数作用到一个序列上(List)
reduce()函数必须接收2个函数,reduce把结果继续和List中的下一个元素累计计算
from functools import reducedef add(x,y):    return x + y# 案例1print("案例1:")L = [1,4]print(reduce(add,L))# 案例2print("案例2:")M = [1,3]def fn(x,y):    return x * 10 + yL = [1,3]print(reduce(fn,L))结果:案例1:10案例2:123

3.filter()函数

filter()也是要接收2个参数,1个是函数,1个是List
filter()函数把传入的函数依次作用到每一个元素上,然后根据返回值是true还是false来决定是否显示(是否丢弃)
# 案例1:模拟一个List,删掉其中的偶数,只保留奇数print("案例1:")def div(n):    return n % 2 == 1L = [1,5,6,7]print(List(filter(div,L)))# 案例2,:把一个List中的空字符串去掉print("案例2:")def Noempty(s):    return s and s.strip()L = [L,‘‘,E,None,0,‘‘]print(List(filter(Noempty,L)))结果:案例1:[1,7]案例2:[L,0]
总结

以上是内存溢出为你收集整理的第七章第6讲:python的高阶函数-map、reduce、filter全部内容,希望文章能够帮你解决第七章第6讲:python的高阶函数-map、reduce、filter所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存