【发布时间】:2019-12-12 13:26:59
【问题描述】:
假设您有一系列类似的函数:
def cos_fit1(*args, **kwargs):
pass
def cos_fit2(*args, **kwargs):
pass
# and so on..
def cos_fit8(*args, **kwargs):
pass
我想将它们放入字典中。目前是这样完成的:
func_dict = {
1 : cos_fit1,
2 : cos_fit2
# and so on..
}
我想知道,有没有更优雅的方式来做到这一点?显然,这扩展得非常糟糕。 我已经尝试过了,但它只是字典中的函数名称作为字符串。
func_dict = {i : f'cos_fit{i}' for i in range(1, 8)}
编辑:
func_dict = {i : eval(f'cos_fit{i}') for i in range(1, 8)}
有效,但这是一个好习惯吗?
【问题讨论】:
标签: python function loops dictionary