51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2072|回复: 0
打印 上一主题 下一主题

[python] 效率利器 map 结合 lambda

[复制链接]
  • TA的每日心情

    2017-11-21 14:43
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2017-11-16 13:54:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 素简生香 于 2017-11-17 11:05 编辑

    效率利器 map 结合 lambda
    mappython 系统内建的函数,用来批量的对列表元素进行操作
    lambda表达式是 python 匿名函数的语法表达,用来传递较简单的算法
    函数map()的原型为mapfunctionsequence[,sequence ,...]-> list
    lambda 表达式的语法为 lambda para : return expression
    看下面的两段样例代码
    # sample code 1
    n = 10
    alist = [ m for m in range(n) ]
    def calc(x):
      return (n-x) if x>n//2 else x
    blist = map( calc, alist )
    print "alist:{} \n blist:{}".format(alist,blist)
    # sample code 2
    clist = map( lambda x: n-x if x>n//2 else x, [m for m in range(n)] )
    print "clist:{}".format(clist)
    显然 sample code 2的代码比sample code 1的精简太多,lambda 表达式等效 calc函数,只不过匿名而已。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-17 20:45 , Processed in 0.065137 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表