首页 > 解决方案 > python中指向lambda函数的指针

问题描述

我有一些lamdba函数作为字典中的值。我想从现有字典创建新字典,该字典具有从第一个值派生的 lambda。但是,当我这样做时,我得到了奇怪的指针行为:lambda第二个字典中的所有组合函数都指向它的最后一个条目。

base_checks = {'big': lambda x: x > 10, 'small': lambda x: x < 0.01}
fancy_checks = {name: lambda x: base_checks[name](x) for name in ['big', 'small']}

我在上面写了一些示例代码来描述这种行为。该函数fancy_checks['big']应该指向,base_checks['big']但它实际上指向该函数base_checks['small']

标签: python-3.xlambdafunction-pointers

解决方案


推荐阅读