python:将变量值插入变量名称

时间:2010-02-13 22:00:33

标签: python variables

我想在python中将变量的值插入另一个变量的名称中。在shell脚本中,这将是:

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

但我看不出如何在python中做类似的事情。有没有办法或者我应该使用替代方法?
谢谢,
安迪

5 个答案:

答案 0 :(得分:9)

不要这样做!变量名称根据变量的值而变化会导致不必要的复杂化。更简洁的方法是使用字典:

vr={}
for n in alist:
    vr[n]=some_calculation()

答案 1 :(得分:1)

基本上,它不喜欢像这样的变量 var1 = foo var2 = bar var $ {id}实际上是一组具有相似特征的变量,这就是为什么您要以这种方式命名它的原因。 尝试使用列表或命令更有效地分组变量!

答案 2 :(得分:0)

dict是维护关联数组的一种方法。

dict = {}
dict[str] = calc();

答案 3 :(得分:0)

可能不完美,但有两种可能的解决方案:

>>> name = "var_1"
>>> locals()[name] = 5
>>> print var_1
5
>>> exec(name + "= 6")
>>> print var_1
6

答案 4 :(得分:0)

for n in more_list:
    globals()["var_"+str(n)]=some_calculation