-2
を関数を呼び出すために、私は以下に定義された関数与えられています:私は、次の入力を繰り返し、この関数を呼び出したいの反復処理を組み合わせ、辞書、再帰的に
def func(dframe, string1, str2, timedel1, bool1, dict1, dict2):
...
を:
dframe = dframe
string1 = 'Cars'
str2_list = ['Mercedes', 'BMW', ...]
timedelArg_list = ['seconds=1', 'seconds=2', 'mintues=2', ...]
bool1 = False
dict1_list = [['Mercedes_color': 'black'],
['BMW_color': 'white']]
dict2_list = ['Mercedes_price', 'BMW_price', ...]
私はこれらの入力がどのように整理されているかを制御していますが、func
を制御できません。
次のように各func
呼び出しが見えます:
# First Call
dframe = func(dframe, string1, str2_list[0],
timedelta(timedelArg_list [0]),
bool1 = bool1,
dict1 = {'FIXED1':dict1_list[0][0], 'FIXED2':dict1_list[0][1]},
dict2 = {dict2_list[0]:'FIXED3'})
# Second Call
dframe = func(dframe, string1, str2_list[1],
timedelta(timedelArg_list [1]),
bool1 = bool1,
dict1 = {'FIXED1':dict1_list[1][0], 'FIXED2':dict1_list[1][1]},
dict2 = {dict2_list[1]:'FIXED3'})
# Third Call
dframe = func(dframe, string1, str2_list[2],
timedelta(timedelArg_list [2]),
bool1 = bool1,
dict1 = {'FIXED1':dict1_list[2][0], 'FIXED2':dict1_list[2][1]},
dict2 = {dict2_list[2]:'FIXED3'})
...
それを行うための最もエレガントな方法は何ですか。
あなたが求めているものは明らかではありません。あなたが 'func'を制御できない場合、これはあなたが行うことができる唯一の方法ではありません...あなたは何をしていますか? – jonrsharpe
コメントありがとう@jonsharpe。私が下に提供した解決策と比較して、より無邪気な方法があるなら、私はものです。 'ast'ライブラリを使用している可能性があります – Rahul