lambda啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lambda啥意思相关的知识,希望对你有一定的参考价值。

参考技术A

lambda    英[ˈlæmdə]    美[ˈlæmdə]    

n.    希腊字母表的第11个字母;    

[例句]Using a lambda expression, we can make this more compact

在使用lambda表达式时,可以使代码更加简洁

[其他]    复数:lambdas    

扩展资料

Lambda 用在基于方法的 LINQ 查询中,作为诸如 Where 和 Where 等标准查询运算符方法的参数。

使用基于方法的语法在 Enumerable 类中调用 Where 方法时(像在 LINQ to Objects 和 LINQ to XML 中那样),参数是委托类型 System..::.Func<(Of <(T, TResult>)>)。使用 Lambda 表达式创建委托最为方便。

例如,当您在 System.Linq..::.Queryable 类中调用相同的方法时(像在 LINQ to SQL 中那样),则参数类型是 System.Linq.Expressions..::.Expression<Func>,其中 Func 是包含至多五个输入参数的任何 Func 委托。同样,Lambda 表达式只是一种用于构造表达式目录树的非常简练的方式。尽管事实上通过 Lambda 创建的对象的类型是不同的,但 Lambda 使得 Where 调用看起来类似。

python中map(lambda x: x % mydict, mylist)是啥意思?

rt。从变量名可以看出来,mydict和mylist分别是什么变量。

我估计你的 mylist 是一个list,里面存的是格式化字符串,而 mydict 则是一个记录格式化字符串中所需要用到的参数信息,比如类似于下面的代码


mylist = ["my name is %(name)s", "and my age is %(age)d"]
mydict = 'name': 'Tom', 'age': 13

result = map(lambda x: x % mydict, mylist)
for s in result:
   print s


就可以得到下面的打印


my name is Tom

and my age is 13


另外一种可能,就是 mylist 里存的是整数,而 mydict 是一个整数,这样了话,map语句是将 mylist 里每一个整数对 mydict 进行取余操作,这个有点不太合理,没必要对一个整数命名成 mydict。

参考技术A x是定义的变量用来遍历mylist中的所有值,mydict是任意的数,x%mydict就是mylist中的各个数分别对mydict求余。
eg:mylist = [1,2,3,4]
map(lambda x:x%3,mylist) -->result:[1,2,0,1]
参考技术B 其实这句话,你应该理解map和lambda是什么意思。

1. lambda生成匿名函数
2. map(func,seq) 就是将函数作用在序列的每个元素上,然后创建由函数返回值组成的列表。
3. map(lambda x: x % mydict, mylist),遍历mylist每个元素,执行lambda函数,并返回一个列表追问

我知道lambda和map是什么意思,我不明白的是x%mydict是什么意思。这才是我要问的问题。

追答

除余咯
mydict=3
mylist=range(5)
print map(lambda x: x % mydict, mylist)

>>>
[0, 1, 2, 0, 1]

追问

一个变量对一个dict求余数?

参考技术C 这是一个方程式,也就是将所有的元素,遍历在函数上运行一遍,赋值给匿名函数

以上是关于lambda啥意思的主要内容,如果未能解决你的问题,请参考以下文章

调用 lambda 时,“DisplayClass”名称是啥意思?

Python 中的lambda 是啥意思,有啥作用,如何使用?

可以用 lambda 替换 Listener 是啥意思?

在 django 的 urlconf 中传递 lambda 是啥意思?

_=> 这个下划线在 Lambda 表达式中是啥意思?

Java 8 中带有 2 个箭头的 lambda 是啥意思?