我正在尝试编写代码以遍历数据表中的列并根据列数创建变量。然后,这些变量将用于优化问题,因此我需要为这些变量分配任何值。
我创建了一个包含像list_w = ['w1','w2',.....'w35']之类的字符串的列表,但是我需要这些字符串作为变量。
这是我根据一些在线资源尝试执行的操作,但这不起作用:
def objective(w):
for e in list_w:
f = list_w.index(e)
vars()[e] =w[f]
print(e)
return w1*w2*w3*w4
答案 0 :(得分:0)
您真正想要的是一本字典:
def objective(w):
my_dict = dict()
for e in list_w:
my_dict[e] = w[list_w.index(e)]
return my_dict
现在可以从my_dict['w1']
之类的每个“变量”(字典键)访问您的值。要获得它们相乘的结果,您可以循环遍历字典的值:
result = 1
for val in my_dict.values():
result *= val
另一方面,从您的代码看来,您所需要的只是list_w
中每个元素的关联索引(假设每个元素都是唯一的)。如果是这种情况,请查看enumerate。