在阅读一些代码时,我发现了以下我无法理解的片段。谁能指导/提供提示/链接或下面第 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/