我有以下变量:
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。至于输出中的其他变量,它们可能存在也可能不存在(甚至可能有更新的变量或以不同的顺序!)
我听说字典是比 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