我需要从函数 (f1) 中获取参数,并将这些参数的映射参数提供给另一个函数 (f2)。
为此,我针对 f1 和 f2 参数创建了参数字典,如下所示:
def f1(variable,*args):
arg_dict = {
'a' : [args1,args2,args3,args4]
'b' : [args5,args6]
'c' : [args7,'{:.2f}'.format]
}
f2(*args)
#---do this---
#---print this---
return #---this---
但是我想不出一种有效且简单的方法来将这些参数提供给 f1 函数内的 f2。
说我这样做:
f1(var1,'a','c')
然后 f2 应该运行为:
f2(args1,args2,args3,args4,args7,'{:.2f}'.format)
我还想过将 f1 参数作为单个值或变量下的列表询问:
def f1(var, param):
#
#
所以像这样:
f1(var1, ['a','c'])
它应该将 ['a','c'] 分配给param
f1 下。接下来如何进行?
如果我正确理解您的问题,那么您所需要的只是一种方法来过滤arg_dict
您实际想要传递的参数集,并将该集合展平。您可以通过创建一个新列表并.extend()
在for
循环中对其进行操作来做到这一点:
def f1(variable,*args):
arg_dict = {
'a' : [args1,args2,args3,args4]
'b' : [args5,args6]
'c' : [args7,'{:.2f}'.format]
}
pass_args = []
for arg in args:
if arg in arg_dict:
pass_args.extend(arg_dict[arg])
f2(*pass_args)
#---do this---
#---print this---
return #---this---
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句