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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)