2015-04-07 2 views
0

Я хотел бы задать имя переменной в цикле, как:Python 2.7: установить имя переменной

for i in range(5): 
    namei = i # this is a variable name 

Это даст мне:

name0 = 0 
name1 = 1 
name2 = 2 
name3 = 3 
name4 = 4 

Кто-нибудь знает, как это сделать ?

Спасибо!

+0

Вы можете изменить 'местных жителей()' и 'глобалам()' в некоторых случаях. Если содержащая область видимости является модулем, для этого есть веские причины, хотя, возможно, предпочтительны «getattr/setattr». Если это ваш класс, не стесняйтесь взломать его так, как вам нравится. Если это функция, единственный путь, отличный от 'locals()', должен пройти через 'foo.func_code.co_nlocals/co_varnames/co_consts', но вам нужно будет создавать новую функцию« на лету ». ** короче **, если вы не уверены, используйте вместо этого структуру данных: https://docs.python.org/2/tutorial/datastructures.html –

ответ

-1

Вместо 5 отдельных переменных вы должны использовать массив.

Например.

name = [] #Create an empty array 

for i in range(5): 
    name.append(i) #Add each value to your array 

Это оставит вас с

name[0] = 0 
name[1] = 1 
... 
etc.