python中什么是lambda函数,lambda是python关键字吗
在Python中,lambda是用来定义匿名函数(没有名字的函数)的关键字,这也是它们被称为lambda函数的原因。
基本上,它用于定义匿名函数,这些函数可以/不可以接受参数并返回数据/表达式的值。让我们看一个例子。
#定义一个lambda函数,该函数接受两个参数(整数形式)并返回它们的和
.
num 1,num2: num1 num2
在0x1004b5de8
#让我们将返回值存储在变量call it中(第一种调用方式)
.
加法=num 1,num2: num1 num2
加法(62,5)
67
加法(1700,29)
1729
#让我们用另一种方式呼叫它(第二种呼叫方式,单线呼叫)
.
(num 1,num2: num1 num2)(120,1)
121
(num 1,num2: num1 num2)(-68,2)
-66
(num 1,num2: num1 num2)(-68,2**3)
-60
现在我来回答你的第二个问题。第一个回答也很好。这是我自己用另一个例子解释的方式。
假设我们有一个如下的条目列表(带有数字内容的整数和字符串),
nums=[2 ,1,3,4, 5 , 8 ,-1 ,-10]
我想用sorted()函数对它进行排序。让我们看看会发生什么。
nums=[2 ,1,3,4, 5 , 8 ,-1 ,-10]
已排序(num)
[1, 3, 4, -1, -10, 2, 5, 8]
它没有给我我想要的以下期望,
[-10, -1, 1, 2, 3, 4, 5, 8]
这意味着我们需要一些策略(以便sorted可以将我们的字符串项视为整数)来实现这个目标。这就是使用key关键字参数的原因。请看下面。
nums=[2 ,1,3,4, 5 , 8 ,-1 ,-10]
已排序(nums,key=int)
[-10, -1, 1, 2, 3, 4, 5, 8]
让我们用lambda函数作为键值。
names=[Rishikesh , aman , Ajay , Hemkesh , sandeep , Darshan , Virendra , Shwetabh]
名称2=已排序(名称)
姓名2
[Ajay , Darshan , Hemkesh , Rishikesh , Shwetabh , Virendra , aman , sandeep]
#但是我不想要这个o/p(这里我们的意图是把‘A’和‘A’一样对待)
.
names3=sorted(names,key=lambda name:name.lower())
姓名3
[Ajay , aman , Darshan , Hemkesh , Rishikesh , sandeep , Shwetabh , Virendra]
您可以定义自己的函数(可调用的),并将它们作为键值提供。
亲爱的程序员,我为你写了下面的代码。请尽量理解,并对你的解释进行评论。很高兴看到你的解释(很简单)。
定义验证器(项目):
.尝试:
.return int(项目)
.除了:
.返回0
.
已排序([gurmit , 0 ,5,2,1, front ,-2, great],key=validator)
[-2, gurmit , 0 , front , great ,1,2,5]
希望有用。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。