【发布时间】:2019-01-03 15:13:13
【问题描述】:
请温柔,我还在学习 Python。我有一个例子,
pairs = [(1, '一'), (2, '二'), (3, '三'), (4, '四')]
pairs.sort(key=lambda 对: pair[1])
结果是
[(4, '四'), (1, '一'), (3, '三'), (2, '二')]
你能帮忙解释一下为什么是这个顺序吗?
【问题讨论】:
-
A
lambda是一个匿名函数:docs.python.org/3/tutorial/controlflow.html#lambda-expressions -
lambda与未命名函数相同,即def f(pair): return pair[1]。在进一步冒险之前,您最好先复习一下有关 Python 初学者基础知识的大量文档和教程…… -
给this发帖看看
-
所有函数都是匿名的;
def语句只是将函数绑定到定义后的名称。lambda表达式是可以创建函数的表达式(而不是语句),只要函数的主体本身是单个表达式。 -
补充已经说过的内容:您正在建立一个关于如何排序的标准。 lambda 函数返回每个元组的第二个元素。因此,您将按元组的第二个元素进行排序。