#官方给出的格式要求如下,其实不需要有两个或两个以上的参数,一个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)...这样麻烦的写法
官方给出了一个比较好的应用例子:
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')] pairs.sort(key=lambda pair: pair[1]) pairs
#返回的结果是按字符串的排序给出整个列表的排序
这个还是特别好用的,如果是经常写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}]
这就相当好用了,大家可以尝试一下~
参考:4. 更多控制流工具 — Python 3.11.4 文档
标签:排序,c3,c2,c1,lambda,表达式,c4 From: https://www.cnblogs.com/soccerchen/p/17575105.html