繁体   English   中英

Python:此lambda函数如何工作?

[英]Python: How does this lambda function work?

我了解基本lambda函数的工作方式如以下示例所示:

def adder(x):
    return lambda y: x + y
add5 = adder(5)
add5(1) # returns 6

虽然,在此示例中,我试图解释lambda函数的工作方式:

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll, b: divmod(ll[0], b) + ll[1:], [(t*1000,), 1000, 60, 60])

在我看来,lambda函数是: lambda ll, b: divmod(ll[0], b) + ll[1:]

ll[0]ll[1:]在此功能中如何工作?

ll只是对序列类型的引用(可能是列表或元组,但可以是支持__getitem__任何东西),因此ll[0]是序列的第一项,而ll[1:]是其余序列的列表项目。 ll是lambda的参数这一事实并不影响ll的解释方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM