浅析python的Lambda表达式

yipeiwu_com7年前Python基础

在python项目中,我们经常会用到lambda,那么lambda是什么呢,有什么作用,下面我们开始介绍

1、可以使用lambda关键字创建匿名函数。Lambda函数可以在需要函数对象的任何地方使用。它们在语法上限于单个表达式。所谓匿名就是无名。

例如定义两个书加法:

myplus=lambda a,b:a+bprint myplus(4,2)

输出:

6

2、再比如我们求两个数的乘积

mysubs=lambda a,b:a*bprint(mysubs(9,9))

输入两个数,输出第一个数

mychooses=lambda a,b:aprint(mychooses(1,2))

3、输出不定个数的参数

例如输入参数求和

myargadd=lambda *args: sum(args)print(myargadd(9))print(myargadd(9,10,11))

输出

9

30

4、那么如果是传入键值,也就是字典类型呢,当然也是可以的

myargdic=lambda **kwargs: kwargsfor key ,v in myargdic(tr=3,pp=9,py='python'):    print(key , v)

输出:

('p', 'p')

('p', 'y')

('t', 'r')

5、lamdba除了可以作为方法使用,还可以作为一个方法的参数使用:

例如map函数将list元素都乘以2

x=[1,2,3,4,5]print map(lambda y:y*2,x)

输出:[2, 4, 6, 8, 10]

相关文章

利用ctypes提高Python的执行速度

前言 ctypes是Python的外部函数库。它提供了C兼容的数据类型,并且允许调用动态链接库/共享库中的函数。它可以将这些库包装起来给Python使用。这个引入C语言的接口可以帮助我们...

python实现求两个字符串的最长公共子串方法

python实现求两个字符串的最长公共子串方法

如下所示: # coding:utf-8 ''' 求两个字符串的最长公共子串 思想:建立一个二维数组,保存连续位相同与否的状态 ''' def getNumofCommonSub...

Django异步任务之Celery的基本使用

Celery 许多Django应用需要执行异步任务, 以便不耽误http request的执行. 我们也可以选择许多方法来完成异步任务, 使用Celery是一个比较好的选择, 因为Cel...

wxpython实现按钮切换界面的方法

wxpython实现按钮切换界面的方法

本文实例为大家分享了wxpython按钮切换界面的具体实现代码,供大家参考,具体内容如下 #-*- coding:utf-8 -*- import wx class TestF...

pycharm编写spark程序,导入pyspark包的3中实现方法

一种方法: File --> Default Setting --> 选中Project Interpreter中的一个python版本-->点击右边锯齿形图标(设置)...