首页 > 解决方案 > 在 sorted 中使用 Lambda 函数

问题描述

常规未排序字典

>>> d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}

按键排序的字典

>>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))

按值排序的字典

>>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))

上面几行中 lambda 函数的工作原理。什么是 t[0],t[1]?

标签: python

解决方案


在这里 lambda 函数的工作就像,用第二项对元组列表进行排序。排序(d.items(),键= lambda t:t [1])

d.items()会是这样。

[('orange', 2), ('pear', 1), ('banana', 3), ('apple', 4)]

所以lambda t:t[1]它在给定的迭代器中返回第二个元素。所以它将根据第二个元素进行排序。与lambda t:t[0]它的第一个元素排序相同。

理解 lambda 函数的示例。

In [39]: func = lambda t:t[1]

In [40]: [func(i) for i in d.items()]
Out[40]: [2, 1, 3, 4]

推荐阅读