lambda 函数的用法

lambda函数又叫匿名函数, 匿名函数就是没有名字的函数,不使用def语句声明的函数。如果要声名,则需要使用lambda关键字进行声明。

一般用来定义简单的函数。

1.声明一个简单的加法匿名函数:

冒号前面的为函数的参数, 后面为函数的表达式, lambda函数可以接受任何数量的参数, 但只能返回一个表达式的值

1 1 1 _sum = lambda num1, num2: num1 + num2
2 2 2 print(‘和为:‘, _sum(1, 2))
3 3 3 print(‘和为:‘, _sum(2, 3))
4 4 # 和为: 3
5 5 # 和为: 5

2.将匿名函数当做参数传递:

 1 def fun(a, b, opt):
 2     print(‘a = %d‘ % a)
 3     print(‘b = %d‘ % b)
 4     print(‘res = %d‘ % opt(a, b))
 5
 6
 7 fun(100, 200, lambda x, y: x + y)
 8 fun(100, 200, lambda x, y: y - x)
 9 # a = 100
10 # b = 200
11 # res = 300
12 # a = 100
13 # b = 200

3.当做内置函数的参数使用:

1 stu = [
2     {"name": ‘alen‘, ‘age‘:18},
3     {"name": ‘clen‘, ‘age‘:19},
4     {"name": ‘dlen‘, ‘age‘:20},
5     {"name": ‘blen‘, ‘age‘:21},
6 ]
7 stu.sort(key=lambda x :x[‘age‘], reverse=True)  # reverse 默认为false, 表示正序, true为倒序
8 print(stu)
9 # [{‘name‘: ‘blen‘, ‘age‘: 21}, {‘name‘: ‘dlen‘, ‘age‘: 20}, {‘name‘: ‘clen‘, ‘age‘: 19}, {‘name‘: ‘alen‘, ‘age‘: 18}]

原文地址:https://www.cnblogs.com/logn2/p/8127211.html

时间: 2024-09-29 23:42:49

lambda 函数的用法的相关文章

深入理解Lambda函数及其用法

Lambda函数又称匿名函数,匿名函数就是没有名字的函数,函数没有名字也行?当然可以啦.有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要非给它取个名字不可. 先来看个简单lambda函数 >>> lambda x, y : x+y <function <lambda> at 0x102bc1c80> x和y是函数的两个参数,冒号后面的表达式是函数的返回值,你能一眼看出这个函数就是是在求两个变量的和,但作为一个函数,没有名字如何使用呢?这里我们暂且给这

Lambda函数及其用法

Lambda函数又称匿名函数,匿名函数就是没有名字的函数,函数没有名字也行?当然可以啦.有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要非给它取个名字不可. 先来看个简单lambda函数 >>> lambda x, y : x+y <function <lambda> at 0x102bc1c80> x和y是函数的两个参数,冒号后面的表达式是函数的返回值,你能一眼看出这个函数就是是在求两个变量的和,但作为一个函数,没有名字如何使用呢?这里我们暂且给这

lambda函数,常用函数,内置函数(string,zip()map()filter())的用法

lambda函数胡使用#coding:utf-8g = lambda x,y:x*y/*必须亦g=*/print g(2,3)/*print必须有*/swtich函数使用 def jia(x,y):    return x+ydef jian(x,y):    return x-ydef cheng(x,y):    return x*ydef chu(x,y):    return x/yoperator = {"+":jia,"-":jian,"*&q

细说Python的lambda函数用法,建议收藏

细说Python的lambda函数用法,建议收藏 在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数.今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式. 1.为什么要用lambda函数? 先举一个例子:将一个列表里的每个元素都平方. 先用def来定义函数,代码如下 def sq(x): return x*x map(sq,[y for y in range(10)]) 再用lambda函数来编写代码 map(la

python的匿名函数lambda解释及用法

lambda函数的语法只包含一个语句,如下:    lambda arg1,arg2,.....argn:expression(主要是看下面的例子)代码示例: #-*- coding:utf-8 -*- #__author__ = "www.iplaypy.com" # 普通python函数 def func(a,b,c): return a+b+c print func(1,2,3) # 返回值为6 # lambda匿名函数 f = lambda a,b,c:a+b+c print

python中 Lambda,Map,Filter,Itertools,Generator高级函数的用法

Lambda 函数 Lambda 函数是一种比较小的匿名函数--匿名是指它实际上没有函数名. Python 函数通常使用 def a_function_name() 样式来定义,但对于 lambda 函数,我们根本没为它命名.这是因为 lambda 函数的功能是执行某种简单的表达式或运算,而无需完全定义函数. lambda 函数可以使用任意数量的参数,但表达式只能有一个. x = lambda a, b : a * b print(x(5, 6)) # prints '30' x = lambd

python中的lambda函数用法

例1:传入多个参数的lambda函数 def sum(x,y): return x+y 用lambda来实现: p = lambda x,y:x+y print(p(4,6)) 例2:传入一个参数的lambda函数 a=lambda x:x*x print(a(3)) # 注意:这里直接a(3)可以执行,但没有输出的,前面的print不能少 例3:多个参数的lambda形式: a = lambda x,y,z:(x+8)*y-z print(a(5,6,8)) 匿名函数lambda:是指一类无需

C++11之lambda函数

lambda来源于函数式编程的概念,也是现代语言编程的特点. 首先看看lambda的基本用法: 1 [capture] (params) opt->return {body;} 其中, capture 是捕获列表(即闭包中的自由变量): [] 不截取任何变量 [&] 截取外部作用域中所有变量,并作为引用在函数体中使用 [=] 截取外部作用域中所有变量,并拷贝一份在函数体中使用 [=, &foo] 截取外部作用域中所有变量,并拷贝一份在函数体中使用,但是对foo变量使用引用 [bar]

lambda函数

C++11一个最激动人心的特性是支持创建lambda函数(有时称为闭包).这意味着什么?一个Lambda函数是一个可以内联写在你代码中的函数(通常也会传递给另外的函数,类似于仿函数或函数指针).使用Lambda,创建机动函数会更简单,而以前你必须创建一个有名函数.在这篇文章中,我先用一些例子解释为什么lambda很酷,然后我会讲解可能会用到的关于lambda的所有细节. 为什么Lambda很酷 想象你有一个地址簿类,并且你想要提供一个可供检索的函数.你可能会提供一个简单的函数,接受一个字符串然后