Python 入门简明教程
1. 1. 与 Python 的第一次亲密接触-写给初学者 2. 2. Python 语法关键字 3. 3. Python 的注释和语法 4. 4. Python 基本数据类型 5. 5. Python 输入输出 6. 6. Python 运算符 7. 7. Python 变量 8. 8. Python 命名空间和变量生存范围 9. 9. Python 逻辑判断 10. 10. Python For 循环语法 11. 11. Python While 循环语法 12. 12. Python 循环语法中 break 与 continue的使用 13. 14. Python 三目运算符 14. 15. Python 循环语法中 pass 语句的使用 15. 16. Python 循环语法示例 16. 17. Python 函数 17. 18. Python main 函数 18. 19. Python print 函数 19. 20. Python print format 输出格式化 20. 21. Python print 输出到文件 21. 22. Python 输入 22. 23. Python import 导入模块 23. 25. Python 中递归的使用 24. 26. Python 匿名函数 25. 27. Python lambda 26. 28. Python PIP 包管理机制 27. 29. Python 命令行参数 28. 30. Python Numbers 包 29. 31. Python 随机数 30. 32. Python String 转 int 31. 34. Python 自定义异常 Exception 32. 35. Python 继承 33. 36. Python 父类 34. 38. Python 操作符重载 35. 39. Python __str__ and __repr__

26. Python 匿名函数

欢迎使用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匿名函数现在对您是清楚的。对于任何进一步的查询,请随时使用评论框。祝你好运!