高阶函数——map
map的中文意思是映射,即对于一个值,利用一个对应关系,映射到另一个值
#先定义一个函数:平方
def square(x):
return x*x
#注意:map是惰性函数,需要转为list再打印才可以执行并输出
#此例中,[1,2,3,4,5]是输入自变量,square函数是对应关系,经过map映射,逐个平方并打印
li1=list(map(square,[1,2,3,4,5]))
print(li1)
#使用Py内置的str函数进行map操作
#[1,2,3,4,5]是输入自变量,str函数是对应关系,经过map映射,逐个转为string类型
li2=list(map(str,[1,2,3,4,5]))
print(li2)
#使用lambda:匿名函数
#[1,2,3,4,5]是输入自变量,lambda函数是对应关系,经过map映射,逐个实现x+3操作
print(list(map(lambda x:x+3,[1,2,3,4,5])))
#利用map函数,将字符串列表的前后空格包括换行去掉
task=[' Web 和 Internet开发', ' 科学计算和统计\n ', '教育 ', '\t桌面界面开发', '软件开发', '后端开发']
ttask=list(map(lambda x:''.join(x.split()),task))
print(ttask)
#高阶函数 - map - 函数作为列表
#再定义一个函数double 实现翻倍
def double(x):
return x+x
#将两个函数汇总,传入
funcs=[square,double]
#使用map进行映射汇集
results=list(map(lambda f:f(3),funcs))
print(results)
运行结果:
[1, 4, 9, 16, 25]
['1', '2', '3', '4', '5']
[4, 5, 6, 7, 8]
['Web和Internet开发', '科学计算和统计', '教育', '桌面界面开发', '软件开发', '后端开发']
[9, 6]