欢迎使用Python匿名函数教程。在上一个教程中,我们了解到Python递归.
Python匿名函数
Python匿名函数是一个没有名字的函数。因此,我们可以将Python匿名函数用于小范围的程序。通常,我们使用def
keyword. But we define anonymous function using lambda
keyword. The basic structure of an anonymous function is given below.
lambda arguments : expression
仔细看一个或多个参数匿名函数具有只有一个表达式. 所以,如果我们要做一个函数,它将计算两个数的和。以下代码将这样做;
def sum ( a, b ):
return a+b
print (sum(1, 2))
print (sum(3, 5))
但是,我们可以把这个函数转换成匿名函数。代码应该是这样的
sum = lambda a,b: (a+b)
print (sum(1,2))
print (sum(3,5))
为什么要使用Python匿名函数
我们似乎可以用一个常规函数来代替匿名函数。那么,为什么要使用匿名函数呢?首先,您可能需要在您的范围内重复执行单个任务。因此,您需要一个临时函数来执行此操作。有了这个内涵,lambda/anonymous函数可以帮助您。因为,匿名函数在作用域之间有效,而正则函数在程序中有效。
表达或陈述
实现匿名函数的主要困惑在于,不能区分表达式和语句。基本上,语句不返回任何内容,而表达式至少产生一个值。lambda是简单的加法/乘法表达式,也可以使用lambda函数。因此,您必须添加一个表达式,以便可以通过lambda/anonymous函数返回表达式的结果。
Lambda/匿名函数的一些用法
现在,我们将看到lambda的一些常用用法。通过使用地图()和过滤器()函数我们可以使用匿名函数更改列表。例如,我们希望将列表中的所有数字递增n
#initial list
l = [1,2,3,4,5,6,7,8]
#print the initial list
print("The initial list is: ")
print(l)
#choose n
n = int(input("Enter the value of n: "))
#increment all the values of the list by using map with help of lambda
l = list(map(lambda x: x+n , l))
#print the changed list
print("The changed list is: ")
print(l)
输出将是
同样,如果我们想将两个list的公共元素存储到newlist中,我们可以使用filter。为了检查an元素是否在列表2中,我们使用了lambda函数。下面给出了示例代码
#initialize list1
list1 = [1,2,3,4,5,6,7,8]
#print list1
print("List1:", end = " ")
print(list1)
#intialize list2 for select numbers
list2 = [2,3,5,9,12,14]
#print list2
print("List2:", end = " ")
print(list2)
"""
compare using lambda function if the value is in list2, if yes then filer the result and assign to list3
"""
list3 = list(filter(lambda x: x in list2 , list1))
#print the changed list
print"List3 (List1 intersect List2 ):", end=" ")
print(list3)
上述程序的输出将是
这就是Python匿名函数的全部内容。希望,Python匿名函数现在对您是清楚的。对于任何进一步的查询,请随时使用评论框。祝你好运!