在循环索引的基础上命名变量

时间:2013-06-24 08:59:45

标签: python variables for-loop

我想实现一个循环,在每次迭代中我根据迭代器值命名变量。例如 -

for i in range(1,10):
    r<value of i> = # some value

有没有办法可以做到,除了将所有这些变量作为How do you create different variable names while in a loop? (Python)中提到的字典中的字符串键。我希望每个人都是一个单独的变量。

1 个答案:

答案 0 :(得分:6)

您可以使用globals()执行此操作,但它是bad idea

>>> for i in range(1,10):
...         globals()['r'+str(i)] = "foo"
...     
>>> r1
'foo'
>>> r2
'foo'

首选globals()的词典:

>>> my_vars = dict()
>>> for i in range(1,10):
        my_vars['r'+str(i)] = "foo"
>>> my_vars['r1']
'foo'
>>> my_vars['r2']
'foo'