在循环中扩展变量名

时间:2018-07-11 12:42:54

标签: python

假设我有一些数字(1、2、3),并且我想将这些数字中的每一个分配给名称分别为a1a2a3的其他变量(即, a1=1a2=2a3=3)。我很高兴知道如何通过python中的for循环来做到这一点。

谢谢

3 个答案:

答案 0 :(得分:2)

可以做到这一点,但我确实建议您使用dict

为此,您可以设置globals()

不推荐

(偷走约书亚的单线)

for n in numbers:
    globals()['a%s' % n] = n

globals().update(('a%s' % n, n) for n in numbers)

相反,使用dict

推荐

>>> d = {'a%s' % n:n for n in numbers}
>>> d['a1']
1

答案 1 :(得分:1)

使用globals()字典:

l = (1, 2, 3)

for i in l:
    globals()["a" + str(i)] = i

print(a1, a2, a3)

输出:

  

1 2 3

答案 2 :(得分:0)

尝试使用这种汇总的分配方法;

@color.setter
def color(self, rgb_hex):
    self._color = hex_handler.get_color(rgb_hex)