Python 中的lambda函数介绍

作者:大河虾 时间:2022-06-15 18:33:04 

Lambda函数,即Lambda 表达式(lambda expression),是一个匿名函数(不存在函数名的函数),Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction)。

一、lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:


def f(x):
return x**2
print f(4)

Python中使用lambda的话,写成这样


g = lambda x : x**2
print g(4)

二、lambda和普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数,又不能共享在别的地方调用。

其实说的没错,lambda在Python这种动态的语言中确实没有起到什么惊天动地的作用,因为有很多别的方法能够代替lambda。

1. 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。

2. 对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。

3. 使用lambda在某些时候让代码更容易理解。

lambda基础

lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象,见证一下:


>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139

在对象遍历处理方面,其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。

defaultdict是字典类型,可以为defaultdict设置默认值,可以通过lambda设置默认值。

下面举几个例子:


from collections import *            
x = defaultdict(lambda:0) //默认值是0
print x[0]
y =defaultdict(lambda:defaultdict(lambda:0))//默认值是一个字典,字典的默认值是0
print y[0]
z = defaultdict(lambda:[0,0,0])//默认值是一个列表,[0,0,0].
print z[0]


输出结果:




0
defaultdict(<function <lambda> at0x7f097797af50>, {})
[0, 0, 0]

总结

以上所述是小编给大家介绍的Python lambda函数网站的支持!

来源:https://www.cnblogs.com/dahexia/archive/2018/10/10/9765838.html

标签:python,lambda,函数
0
投稿

猜你喜欢

  • PyCharm 在Windows的有用快捷键详解

    2023-04-28 05:05:37
  • 修改月光博客网站中PHP常用正则表达式中出现的错误

    2024-05-03 15:35:35
  • python实现微信自动回复机器人功能

    2023-12-30 01:01:40
  • Mysql中使用时间查询的详细图文教程

    2024-01-17 16:35:54
  • 基于plt.title无法显示中文的快速解决

    2023-06-17 10:16:27
  • Python线程之如何解决共享变量问题

    2023-08-27 16:15:56
  • Python之——生成动态路由轨迹图的实例

    2023-01-11 17:50:37
  • asp组件上传

    2010-05-27 12:16:00
  • javascript中parseInt()函数的定义和用法分析

    2024-04-22 22:44:16
  • Oracle学习笔记(四)

    2012-01-05 18:57:33
  • 通过T_sql语句向其中一次填入一条数据或一次填入多条数据的方式填充数据

    2012-11-30 19:55:34
  • 详解Python中的魔法函数与量子计算模拟

    2021-05-18 23:13:47
  • PHP面向对象教程之自定义类

    2024-05-11 09:23:46
  • Pycharm及python安装详细步骤及PyCharm配置整理(推荐)

    2021-03-15 21:55:51
  • Python学习笔记之函数的定义和作用域实例详解

    2021-09-09 11:05:30
  • 在ASP中通过oo4o连接Oracle数据库的例子

    2008-10-12 12:55:00
  • 探讨:如何查看和获取SQL Server实例名

    2024-01-18 03:47:42
  • Python实现爬取需要登录的网站完整示例

    2022-08-09 11:40:33
  • Python中的高级函数map/reduce使用实例

    2021-11-07 06:57:23
  • Django1.11自带分页器paginator的使用方法

    2021-07-04 12:44:23
  • asp之家 网络编程 m.aspxhome.com