zoukankan      html  css  js  c++  java
  • python-匿名函数lambda

    有些时候,我们在传入函数时,不需要显示的定义函数,直接传入匿名函数更方便。在python中,对匿名函数提供了有限支持。以map()函数为例,计算f() = x2,使用匿名函数:

    >>> list(map(lambda x:x*x,[1,2,3,4,5]))
    [1, 4, 9, 16, 25]

    对比可知,匿名函数lambda x:x*x 实际上相当于:

    >>> def f(x):
    ...     return x*x
    ...

    关键字lambda表示匿名函数,冒号前面的x表示函数的参数。

    匿名函数有个限制,就是只能有一个表达式,不用谢return,返回值就是该表达式的结果。

    匿名函数有个好处,因为函数没有名字,不用担心函数名会冲突!

    匿名函数也是函数对象,所以可以把匿名函数赋值给一个变量;匿名函数也可以作为返回值返回:

    >>> f = lambda x:x*x
    >>> f
    <function <lambda> at 0x0343D660>
    >>> f(3)
    9
    >>> def b(x,y):
    ...     return lambda :x*x+y*y
    ...
    >>> b(2,3)
    <function b.<locals>.<lambda> at 0x03597198>
    >>> l = b(2,3)
    >>> l()
    13

    例子:使用lambda函数,返回range(1,20)之间的偶数:

    >>> list(filter(lambda x:x%2 == 0,range(1,20)))
    [2, 4, 6, 8, 10, 12, 14, 16, 18]
  • 相关阅读:
    Elasticsearch 快速入门
    Linux 非互联网环境安装依赖包
    linux 安装mysql(rpm文件安装)
    Nginx安装与配置文件nginx.conf详解
    Linux 知识
    MySQL Windows安装连接
    post请求body格式
    MySQL 数据库备份
    SOAP与restful webservice
    大数据架构工具hadoop
  • 原文地址:https://www.cnblogs.com/hiwuchong/p/8124711.html
Copyright © 2011-2022 走看看