我想知道是否有优雅的方法使用循环来创建和分配变量。我通常会将对象捕获到一个列表中,但能够通过变量名访问每个对象会更方便。例如,我想自动创建多个机器学习模型,每个模型使用不同的参数,并将每个模型分配给变量model_1、model_2等等,类似于这样的代码:
for i,parameter in enum(list_of_parameters): model_ + i = model_generator_function(parameter)
感谢您的帮助!
回答:
问题在于,您无法在运行时生成变量名,因此必须将它们存储在某个地方。我建议使用字典。
尝试这样做:
models = {}for parameter in list_of_parameters : for i in range(len(list_of_parameters)) : models[f"model_{i}"] = model_generator_function(parameter)
您可以轻松访问您的变量(models[model_name]
)。