Я хотел бы вставить значение переменной на название другой переменной в Python. В сценарии оболочки это было бы чем-то как:
for n in `more list`
do
var_$n = some_calculation
done
но я не вижу, как сделать подобную вещь в Python. Существует ли путь, или я должен использовать альтернативный подход?
спасибо,
Andy
for n in more_list:
globals()["var_"+str(n)]=some_calculation
Не делай этого! Имена переменных, которые меняются в зависимости от значения переменной, приводят к ненужным осложнениям. Более чистый способ - использовать словарь:
vr={}
for n in alist:
vr[n]=some_calculation()
Возможно, не идеально, но два возможных решения:
>>> name = "var_1" >>> locals()[name] = 5 >>> print var_1 5 >>> exec(name + "= 6") >>> print var_1 6
dict - один из способов ведения ассоциативного массива.
dict = {}
dict[str] = calc();