2013-06-24 4 views
0

Я хочу реализовать цикл, в котором на каждой итерации я называю переменную в соответствии с ее значением. Для instance-Именование переменной на основе индекса в цикле

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

Есть ли способ я могу сделать это, кроме делать все эти переменные как строковые ключи в словаре, как указано в How do you create different variable names while in a loop? (Python). Я хочу, чтобы каждая из них была отдельной переменной.

+2

Вы должны подробно, что вы хотите сделать точно. Я думаю, у вас есть непонимание того, что такое переменная цель. Рассматривали ли вы загрузку своих значений в список? – AsTeR

+3

Вы не хотите этого делать,/thread – jamylak

+0

@AsTeR Да, я понимаю, что такое переменная, и я считаю, что использование списка - хороший вариант здесь. Но с помощью отдельных переменных требуется проблема, которую я пытаюсь решить. Ответ отвечает моей цели. Спасибо за ваше время. – Srijan

ответ

6

Вы можете сделать это с помощью globals(), но это bad idea:

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

Предпочитают Dict над globals():

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

Спасибо, он решил мою проблему :) – Srijan

Смежные вопросы