Python: вставка значения переменной в имя переменной

Я хотел бы вставить значение переменной на название другой переменной в Python. В сценарии оболочки это было бы чем-то как:

for n in `more list`  
do  
var_$n = some_calculation  
done

но я не вижу, как сделать подобную вещь в Python. Существует ли путь, или я должен использовать альтернативный подход?
спасибо,
Andy

5
задан Felix Kling 13 February 2010 в 22:02
поделиться

4 ответа

for n in more_list:
    globals()["var_"+str(n)]=some_calculation
0
ответ дан 13 December 2019 в 19:26
поделиться

Не делай этого! Имена переменных, которые меняются в зависимости от значения переменной, приводят к ненужным осложнениям. Более чистый способ - использовать словарь:

vr={}
for n in alist:
    vr[n]=some_calculation()
11
ответ дан 13 December 2019 в 19:26
поделиться

Возможно, не идеально, но два возможных решения:

>>> name = "var_1"
>>> locals()[name] = 5
>>> print var_1
5
>>> exec(name + "= 6")
>>> print var_1
6
0
ответ дан 13 December 2019 в 19:26
поделиться

dict - один из способов ведения ассоциативного массива.

dict = {}
dict[str] = calc();
0
ответ дан 13 December 2019 в 19:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: