次の変数があります。
Output=[{'name': 'AnnualIncome', 'value': 5.0},
{'name': 'DebtToIncome', 'value': 5.0},
{'name': 'Grade', 'value': 'A'},
{'name': 'Home_Ownership', 'value': 'Rent'},
{'name': 'ID', 'value': 'ID'},
{'name': 'InitialListing_Status', 'value': 'f'},
{'name': 'JointFlag', 'value': 0.0},
{'name': 'LateFeeReceived_Total', 'value': 5.0},
{'name': 'LoanAmount', 'value': 5.0},
{'name': 'OpenCreditLines', 'value': 5.0},
{'name': 'Strategy', 'value': 'Reject'},
{'name': 'Term', 'value': '60 months'},
{'name': 'TotalCreditLines', 'value': 5000.0}]
これは、定義した関数のほとんどの出力です。
間違いなく、私の関数の出力は常に JointFlag と Strategy になることを知っています。Output の他の変数については、存在する場合と存在しない場合があります (新しい変数や別の順序で存在する場合もあります!)。
辞書は exec よりもはるかに優れた方法であると聞いたので、これにアプローチする方法を知りたいだけです。
定義した関数の最後には、次の文字列が含まれます。
return JointFlag, Strategy
これは私が現在使用しているexecコマンドです。
def execute():
#Some random codes which leads to Output variable
for Variable in range(len(Outputs)):
exec(f"{list(Outputs[Variable].values())[0]} = r'{list(Outputs[Variable].values())[1]}'")
return JointFlag, Strategy