• Python基础总结之认识lambda函数、map函数、filter() 函数。第十三天开始(新手可相互督促)


    今天周日,白天在学习,晚上更新一些笔记,希望对大家能更好的理解、学习python~

    lambda函数,也就是大家说的匿名函数。它没有具体的名称,也可以叫做一句话函数,我觉得也不过分,大家看下代码,来体会下一句话函数(lambda)。

    它的格式:

    关键字lambda 后面是参数,可以是一个或多个。紧接冒号,然后后面是表达式。
    1 c = 5
    2 a = lambda c,a = 12:a+c   #格式:关键字lambda 后面是参数,可以是一个或多个。紧接冒号,然后后面是表达式。
    3 print(a(c))               #调用lamabda匿名函数,然后传入变量 c

    怎么样,整个lambda匿名函数,从定义函数,到参数再到表达式,是在一行代码就可以做完的事儿,所以是不是有些时候比def定义函数要方便的多。

    1 c = 5
    2 def a(c,a=12):
    3     a += c
    4     print(a)
    5 a(c)

    自己可以对比def和lambda两种形式,有时候简单的表达式,完全可以使用匿名函数lambda函数,在功能比较复杂的时候可以继续使用def定义函数哦~~

      接下来我们再看下map函数的使用,man函数有两个参数,第一个参数是:函数,第二个 参数是:可迭代的数据对象。map可以使,可迭代的数据对象中的元素,每个元素,同时做相同的事情,我们看下代码:

    1 a = [1,2,3,4]
    2 def add(a):
    3     return a + 100    #让列表中的每个元素加100,然后返回新的列表
    4 
    5 print(list(map(add,a)))  #注意:map函数,在Python 3.几的版本 返回迭代器,所以需要在前面加list()函数进行转换

    重点说明:

    1、map()中的参数,函数可以是自定义函数,也可以是内置函数。

    2、第二个函数需要是可迭代的数据,比如列表,元组,字典。

    3、map()这个函数的作用是,将其它函数作为参数,让可迭代的参数,数据中的每个元素,在其它函数内执行一遍。

    4、map函数,在Python 3.几的版本 返回迭代器,所以需要在前面加list()函数进行转换,如果你是其他类型,就进行相应的转换。

    1 print(list(map(lambda a:a+100,a)))

    上面的小案例,我们也可以用map函数和lambda函数一起写。是不是更容易理解了呢?

     最后再认识一个:filter() 函数,它可以用于过滤序列,过滤掉不符合条件的元素,把符号条件的元素组合新的列表返回给你。filter()函数也有两个参数,第一个参数:是函数,第二个参数:是序列;将序列中的每个元素作为参数传入给函数进行过滤判断。将返回True的元素值放到新的列表中。

    1 #过滤出列表中大于3的元素
    2 a = [1,2,3,4,5]
    3 
    4 def add(a):
    5     return a>3    #将每个元素进行过滤判断
    6 print(list(filter(add,a)))    #将序列中的每个元素作为参数传入给函数进行过滤判断。将返回True的元素值放到新的列表中。

    同样我们也可以结合lambda()函数:

    filter()函数返回的也是迭代器,所以需要在前面加list()函数进行转换,如果你是其他类型,就进行相应的转换。

    1 a = [1, 2, 3, 4, 5]
    2 print(list(filter(lambda b:b>3,a)))

     hhh。。。。。。。周末要过去了,洗澡睡觉晚安~~

    不懂的朋友可以多敲几遍代码,或者留言评论哦~~~~

  • 相关阅读:
    Eclipse中的常见设置
    Maven配置及使用总结
    启动Eclipse时,出现 “Failed to load the JNI shared library "C:Program Filesjavajdk1.7.....jvm.dll"
    Java 环境问题汇总
    Java 异常处理
    Java面向对象(二)
    Java面向对象(一)
    Java获取路径
    Java代码读取文件
    工作常用快捷键大全
  • 原文地址:https://www.cnblogs.com/woshidaliua/p/11299876.html
Copyright © 2020-2023  润新知