2013-09-19 3 views
0

Есть ли способ объявить строку имени переменной с номером при запуске цикла? Как я могу это сделать? Для примера, приведенного n1, n2, n3..., n1 должен хранить i+l значения (n("string") с i("number") = n1), то n2 должен хранятся i+l значения повторного цикла ..... и т.д.Объявление имени переменной со строкой и номером?

i=0 
l=1 
K=range(2,10) 
for i in K: 
    print i 
    #how to declare a variable name by concatenating string and number 
    print '--------',l+i 
    #print n1,n2.....etc 
+0

Это то, что вы пытаетесь сделать: http://stackoverflow.com/questions/5036700/how-can-you-dynamically-create-variables-in-python-via-to-a- while-loop? – Parzival

+1

Не пытайтесь динамически назвать переменные. Используйте «dict», если у вас есть пары ключ-значение. – roippi

ответ

0

использовать список, как например ...

n = [] 
for i in k: 
    n.append(some_value) 

тогда вместо n1, вы можете получить доступ к каждой переменной с п [0], п [1] ...

(вы также можете использовать словарь, если вам нужно больше фл доступность по номерам индексов ...

n = {} 
for i in k: 
    n[i] = some_value 
0

Несмотря на то, что это очень плохая идея, да, вы можете это сделать.

def fun(): 
    name = "n" 
    for i in range(4): 
     exec '%s%d = %d'%(name, i, 2**i) 
    print n0 
    print n1 
    print n2 
    print n3 

fun() 
Смежные вопросы