在Python中使用列表元素作为变量名

2024-09-30 00:37:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我猜这将是一个非常简单的问题,但我还没有解决办法。你知道吗

我有一个很长的代码,用于建模和更新优化变量的值。代码最初是这样编写的:

init_old(x,y):
    return {(k):olddict[k][x][0]*prod[y] for k in realnames}

Q_house=init_old(“Q_house”,"P_house")
Q_car=init_old(“Q_car”,"P_car")
Q_holiday=init_old(“Q_holiday”,"P_holiday")

我已经可以通过理解来简化它了:

ListOfExpenses=["house","car","holiday"]
Q_house, Q_car, Q_holiday=[init_old(“Q_”+i,"P0_"+i) for i in ListOfExpenses]

我正试图找到一种同等但更灵活的方式来写最后一行,这样我就可以很容易地将费用列表和“Qï…”变量更改在一起:

ListOfExpenses=["house","car","holiday"]
ListOfCost=["Q_house","Q_car","Q_holiday"]
Elements_Of_ListOfCost=[init_old(“Q_”+i,"P0_"+i) for i in ListOfExpenses]

因此,当我稍后查找qu house、qu car或qu holiday时,它返回与原始代码中计算的Q_house=init_old(“Q_house”,"P_house")相同的结果。你知道吗

我现在不想使用字典,因为它们需要对代码的其余部分进行重大更改,调用字典会导致其他一些函数出现问题。事先谢谢你的帮助。你知道吗


Tags: 代码infor字典init建模carold

热门问题