python - 了解给定 python 代码中的 lambda 用法

标签 python lambda

在阅读一些代码时,我发现了以下我无法理解的片段。谁能指导/提供提示/链接或下面第 3 行的基本解释

def do_store(*args, **kwargs):
    try:
        key = (args, tuple(sorted(kwargs.items(), key=lambda i:i[0])))
        results = f._results

主要是下面在做什么?

key=lambda i:i[0]

最佳答案

使用 lambda 关键字,您可以创建“匿名函数”。它们没有(也不需要)名称,因为它们会立即(通常)分配给回调函数。

lambda i:i[0]

只是函数体

def f(i):
  return i[0]

sorted 函数的key 参数必须是计算给定项的排序键的函数。您还可以传递上面定义的函数 (name) f,或者使用 lambda 函数以获得更好的可读性。

tobias_k's answer中所述,在这段代码中,整个key参数没有用。

关于python - 了解给定 python 代码中的 lambda 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24485932/

相关文章:

lambda - 将两个 Observables 的平面图的 lambda 更改为两个 Singles 的平面图时出错

python greenlet段错误

java - 简洁流语法 - 处理用户输入

python - 按日期拉伸(stretch)数据框

python - 使用 Mechanize (Python) 填写表格

c# - Func<T> 作为类成员,访问实例的其他成员

lambda - Sonar : Replace this lambda with a method reference

java - 如何定义以可序列化的 lambda 作为参数的函数

python - IbPy : How to extract API response into a variable

python - 将第二个 Y 轴添加到插图缩放轴