python 关键字 lambda 函数
python keyworded lambda function
这是一个简单的 lambda 表达式
var= lambda x: x*x
print(var(4))
简单 我将 lambda 对象存储到一个变量中,使用 var 来完成数学运算。
我的问题:
如何创建使用 lambda 作为关键字参数的函数并正确使用它们来执行某些任务
在这段代码中我得到 TypeError: 'str' object is not callable
def test1(**kwargs):
for fart in kwargs:
print(fart) #output is == key
fart(4) #fart(4)==TypeError
test1(key=lambda x: x*x)
kwargs
是字典。迭代字典会为您提供键值。
迭代时,如果您希望所有键都使用 lambda 函数,只需使用 items()
或 values()
:
for fart in kwargs:
print(kwargs[fart](4))
或值:
for fart in kwargs.values():
print(fart(4))
更合理的是,你需要调用你的 lambda 是使用键 key
:
def test1(**kwargs):
print(kwargs["key"](4))
test1(key=lambda x: x*x)
这里打印 16
您收到此错误是因为 kwargs
是 dict
。在你的例子中,这个字典看起来像这样:
{'key': lambda x: x*x}
因此,当您遍历 dict
时,您实际上是在遍历键,在 kwargs
的情况下,键是字符串(并且字符串不可调用)。
如果你真的想得到 lambda,那么你应该访问 kwargs
中那个键的值:
for fart in kwargs:
print(fart)
print(kwargs[fart[](4))
当然,还有更简单的方法:
for fart, shart in kwargs.items():
print(fart)
print(shart(4))
这是一个简单的 lambda 表达式
var= lambda x: x*x
print(var(4))
简单 我将 lambda 对象存储到一个变量中,使用 var 来完成数学运算。
我的问题:
如何创建使用 lambda 作为关键字参数的函数并正确使用它们来执行某些任务
在这段代码中我得到 TypeError: 'str' object is not callable
def test1(**kwargs):
for fart in kwargs:
print(fart) #output is == key
fart(4) #fart(4)==TypeError
test1(key=lambda x: x*x)
kwargs
是字典。迭代字典会为您提供键值。
迭代时,如果您希望所有键都使用 lambda 函数,只需使用 items()
或 values()
:
for fart in kwargs:
print(kwargs[fart](4))
或值:
for fart in kwargs.values():
print(fart(4))
更合理的是,你需要调用你的 lambda 是使用键 key
:
def test1(**kwargs):
print(kwargs["key"](4))
test1(key=lambda x: x*x)
这里打印 16
您收到此错误是因为 kwargs
是 dict
。在你的例子中,这个字典看起来像这样:
{'key': lambda x: x*x}
因此,当您遍历 dict
时,您实际上是在遍历键,在 kwargs
的情况下,键是字符串(并且字符串不可调用)。
如果你真的想得到 lambda,那么你应该访问 kwargs
中那个键的值:
for fart in kwargs:
print(fart)
print(kwargs[fart[](4))
当然,还有更简单的方法:
for fart, shart in kwargs.items():
print(fart)
print(shart(4))