Python中的Lambda表达式小析
来源:互联网 发布:易语言自动刷图源码 编辑:程序博客网 时间:2024/06/04 19:11
Lambda表达式在Python中经常使用到,在此总结下Lambda表达式的常用方法。
首先,要明白Lambda表达在Python中是作为一个匿名函数的构造器而存在。其次,要明白Lambda表达式的常用场景是Lambda表达式对应函数的使用次数非常有限(因此,没有必要专门定义一个非匿名函数),同时保证了代码的简洁性。
最简单的一个Lambda表达式例子和对应的非匿名函数:
f = lambda x: x + 1print ( f(1) )
def h (x):return x + 1print ( h(1) )
带有一个参数的Lambda表达式和对应的非匿名函数:
def f(n):return lambda x: x / nprint ( f(1)(2) ) # n=1; x=2
def g(n):return lambda x: x / nk = g(1)# n=1print ( (k(2)) )# x=2
def h(x,n):return x / nprint ( h(2,1) )#x=2; n=1
Lambda匿名函数经常被用到filter(), map(), reduce(), sorted()函数中,这些函数的共同点是均需要函数型的参数,Lambda表达式正好适用。以sorted函数为例,其key参数指定了一个负责从带排序的list中抽取comparison key的函数。
club_ranking = [ ('Arsenal', 3), ('Chelsea', 1),('Manchester City', 2), ('Manchester United', 4),]club_sorted = sorted(club_ranking, key = lambda x: x[1]) # sort by rankingprint (club_sorted)
'''在Python3.4中需要使用functools将cmp函数转化为key函数'''import functoolsclub_ranking = [ ('Arsenal', 3), ('Chelsea', 1),('Manchester City', 2), ('Manchester United', 4),]def get_ranking( x, y ): #define cmp functionreturn x[1] - y[1]club_sorted = sorted(club_ranking, key = functools.cmp_to_key(get_ranking)) # sort by rankingprint (club_sorted)
0 1
- Python中的Lambda表达式小析
- python中的lambda表达式
- Python中的lambda表达式
- Python中的lambda表达式
- Python中的匿名函数: lambda表达式
- Lambda表达式小例子
- python lambda表达式
- Python的Lambda表达式
- Python的Lambda表达式
- Lambda表达式之Python
- python lambda表达式
- Python lambda表达式
- python lambda表达式
- python Lambda 表达式
- python lambda表达式
- Python中lambda表达式
- Python lambda表达式
- Python lambda表达式
- 关于RectTransform的一些研究
- leetcode 222: Count Complete Tree Nodes
- LeetCode 题解(97): Binary Tree Maximum Path Sum
- 丫的一个三线手机还挺火
- 天龙网游帮会玩法详解 帮会系统详细介绍
- Python中的Lambda表达式小析
- MySQL的基础操作
- 第十三题 P035
- #leetcode#Maximal Square
- JAVA文件操作
- MySQL的数据类型
- 【eclipse】快捷键整理
- 数据表操作
- [latex]通过画图来查找符号的latex命令