zoukankan      html  css  js  c++  java
  • 匿名函数lambda小计

    当我们想要实现一个逻辑处理,一般会考虑使用函数来实现。但是python既然是“化繁为简”,那么它当然提供了对应的方法——匿名函数lambda,能够实现简单逻辑处理的表达式

    简单介绍下它的作用:

    lambda 参数:表达式

    举个例子:当我们想要实现a+b计算时,我们一般会封装一个方法去实现

    def f(x,y):
    return x +y
    print(f(2,3)) #结果为:5

    当然,我们也可以使用lambda来使代码更简洁:

    f=lambda x,y:x+y
    print(f(2,3)) # 结果为:5

    再结合之前随笔中提到的函数式编程中的filter、map、reduce,就能够使一些稍微复杂的代码,用一个表达式就能够处理。例如:

    a ={'a_c':12,'b.c':'ac'}

    想要得到:['ac', 'bc'] 即返回字典的key值,并去掉字典key中的_和.符号

    拆解需求:

    1、返回key

    2、去掉key中的_和.符号

    分析:

    1、直接a.keys()key获得key

    2、通过re正则模块配合split实现除去_和.

    接下来就是处理:

    print(list(a.keys()))  #结果为:['a_c', 'b.c']
    print(list(map(lambda x:re.split('_|.',x),a.keys())))  #结果为:[['a', 'c'], ['b', 'c']]

    时间有限,贴一下最终的表达式:

    print(list(map(lambda x:reduce(lambda m,n:m+n,x),list(map(lambda x:re.split('_|.',x),a.keys())))))
    print(list(map(lambda x:reduce(lambda m,n:m+n,re.split('_|.',x)),a.keys())))
  • 相关阅读:
    form表单提交json格式数据
    docker搭建jenkins
    consul搭建服务注册和
    docker创建mysql镜像
    Swagger入门
    net coer log4+ELK搭建
    log4配置
    netcore autofac依赖注入
    netcore 跨域
    netcore 读取配置文件
  • 原文地址:https://www.cnblogs.com/wjlv/p/11233051.html
Copyright © 2011-2022 走看看