Python函数式编程之map的用法

版权声明: https://blog.csdn.net/qq_37457432/article/details/87970689

高阶函数——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]

猜你喜欢

转载自blog.csdn.net/qq_37457432/article/details/87970689