Python函数式编程之map的用法

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值