pairs [(1, ‘one’), (2, ‘two’), (3, ‘three’), (4, ‘four’)]
pairs.sort(key lambda pair: pair[1])
pairs
[(4, ‘four’), (1, ‘one’), (3, ‘three’), (2, ‘two’)]
今天在看python文档时 遇到了关于lambda表达式的一种使用方法 有些不解为什么输出是这样的 查阅资料之后 特此记录一下
1、首先我们需要明白lambda表达式是什么 下面给出一张在网上找到的示意图 感觉还挺清晰的
2、那么接下来需要搞明白的是pairs.sort(key lambda pair: pair[1]) 这行代码是什么意思
1.首先这里的lambda表达式是作为一个函数进行传递参数的
2.接下来需要明白sort()函数的用法 sort()函数里面有两个参数 形式如下 sort(key None, reverse False)
默认情况下 sort()是进行升序排序的 且排序规则是根据关键字key的值进行排序的 如若需要进行降序排序 只需要将reverse True即可
3.那么这里的lambda表达式传给sort()函数的参数是 表示用list中第二个参数即’one’作为排序的依据的 根据ASCII的值 由小到大分别是 f,o,t,t。所以也就出现了[(4, ‘four’), (1, ‘one’), (3, ‘three’), (2, ‘two’)]这样的排序结果



