我想将密钥字符串作为mn
同一行内的参数传递给 lambda 函数。有没有办法做到这一点?我不想再次重新键入密钥字符串。
switch = {
'foo': lambda: bb.Data(ticker=self.ticker, key=self.key, func='yes', mn='foo'),
'bar': lambda: bb.Data(ticker=self.ticker, key=self.key, mn='bar')
}
您可以像这样创建字典:
switch = {
key: lambda: do_something(key)
for key in ['foo', 'bar']
}
如果你想为不同的键调用不同的函数,你需要这样的东西:
def add_dict_item(a_dict, key):
if key == 'foo':
a_dict[key] = lambda: do_something(key)
elif key == 'bar':
a_dict[key] = lambda: do_something_else(key)
switch = {}
add_dict_item(switch, 'foo')
add_dict_item(switch, 'bar')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句