首页 > 解决方案 > 自动变量名生成

问题描述

我在 python 方面不是很有经验,我需要一些帮助。我想自动为一些变量生成名称,但我不知道如何。假设我有一个包含 20 个值的字典,我想为这 20 个值生成 20 个名称。

我尝试过这种方式,但显然,python 无法将字符串分配给项目

    for i in range(len(dict)):
       name[i] = 'var_{}'.format(i)
       self.name[i] = dict[i]

结果应如下所示:

   self.var_0 = content of dict[0]
   self.var_1 = content of dict[1]
   .
   .
   .
   self.var_31 = content of dict[31]

标签: pythonpython-3.x

解决方案


您可以使用内置setattr功能。

setattr(x, 'foobar', 123)相当于x.foobar = 123

for key, value in dict.items():
    setattr(self, f'var_{key}', value)

推荐阅读