lambda表达式
1 2 3 4 5 6 7 8 | #官方给出的格式要求如下,其实不需要有两个或两个以上的参数,一个a也是可以的lambda a, b: a+b#官方给出的例子>>> def make_incrementor(n): ... return lambda x: x + n ... >>> f = make_incrementor( 42 ) >>> f( 0 ) 42 >>> f( 1 ) 43 |
可以理解为构造了一个简单的函数,比如f = lambda a,b : a+b,就不用写def f(a,b)...这样麻烦的写法
官方给出了一个比较好的应用例子:
1 2 3 | pairs = [( 1 , 'one' ), ( 2 , 'two' ), ( 3 , 'three' ), ( 4 , 'four' )] pairs.sort(key = lambda pair: pair[ 1 ]) pairs<br> #返回的结果是按字符串的排序给出整个列表的排序 |
这个还是特别好用的,如果是经常写SQL的人,应该很容易明白,这就相当于指定一列的排序,相当好用,为此我还尝试了一下列表中全是字典是否可以排序,是可以的
a = [{"c1":'a',"c2":'g',"c3":1,"c4":8},{"c1":'c',"c2":'d',"c3":2,"c4":5},{"c1":'e',"c2":'b',"c3":3,"c4":1}]
sorted(a,key=lambda a:a['c4'])
#[{'c1': 'e', 'c2': 'b', 'c3': 3, 'c4': 1},
#{'c1': 'c', 'c2': 'd', 'c3': 2, 'c4': 5},
#{'c1': 'a', 'c2': 'g', 'c3': 1, 'c4': 8}]
sorted(a,key=lambda a:a['c3'])
#[{'c1': 'a', 'c2': 'g', 'c3': 1, 'c4': 8},
#{'c1': 'c', 'c2': 'd', 'c3': 2, 'c4': 5},
#{'c1': 'e', 'c2': 'b', 'c3': 3, 'c4': 1}]
这就相当好用了,大家可以尝试一下~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗