在lambda内部的字典中添加新值

时间:2019-05-29 18:51:10

标签: python lambda

我一直在搞弄Python中的线程,在使用lambda时遇到了一些奇怪的事情。 由于我不想创建扩展线程的新类,并且不得不检索一些结果,因此我决定使用在外部范围中声明的字典,并在lambda中向其添加键和值。

因此,第一个测试/尝试这样做是使用以下语法:

result = {}
target = lambda value, result: result[value] = value**2

target(2)
print(result)

输出为:

target = lambda value, result: result[value] = value**2
         ^
 SyntaxError: can't assign to lambda

但是随后,我使用了以下语法,并且可以按预期工作。

result = {}
target = lambda value, result: result.update({value: value**2})

target(2)
print(result)

输出:

{2: 4}

为什么会发生?

0 个答案:

没有答案