【发布时间】:2021-12-29 16:12:14
【问题描述】:
嗨,这让我困惑了一段时间:
我想向现有字典添加一个具有特定功能 (myfun) 但对同一功能使用不同参数的新键:
dct = {}
params = {'a':[10,20],'b':[-10,10]}
def myfun(x,y):
return (x+y)
print(myfun(*params['a'])) #desired output for dct['a'](1,1) = 30
print(myfun(*params['b'])) #desired output for dct['b'](1,1) = 0
for key in params.keys():
dct[key]=lambda x,y: myfun(params[key][0]*x,params[key][1]*y)
print(dct['a'](1,1)) # should be 30
print(dct['b'](1,1)) # should be 0
但显然它只保留最后一个键(在本例中为“b”)。
有什么想法吗?
【问题讨论】:
-
是的!谢谢!
标签: python function dictionary parameters