我想在python中将变量的值插入另一个变量的名称中。在shell脚本中,这将是:
for n in `more list`
do
var_$n = some_calculation
done
但我看不出如何在python中做类似的事情。有没有办法或者我应该使用替代方法?
谢谢,
安迪
答案 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