问题描述
我想在python中将一个变量的值插入另一个变量的名称中。 在 shell 脚本中,这将类似于:
for n in `more list`
do
var_$n = some_calculation
done
但我看不到如何在 python 中做类似的事情。
有没有办法或者我应该使用替代方法?
谢谢,
安迪
1楼
不要这样做! 根据变量的值更改变量名会导致不必要的复杂化。 更简洁的方法是使用字典:
vr={}
for n in alist:
vr[n]=some_calculation()
2楼
for n in more_list:
globals()["var_"+str(n)]=some_calculation
3楼
基本上它不喜欢像 var1 = foo var2 = bar var${id} 这样的变量实际上是一组具有相似特征的变量,这就是为什么你想以这种方式命名它。 尝试使用 list 或 dict 以更有效的方式对变量进行分组!
4楼
dict 是维护关联数组的一种方式。
dict = {}
dict[str] = calc();
5楼
也许不完美,但有两种可能的解决方案:
>>> name = "var_1" >>> locals()[name] = 5 >>> print var_1 5 >>> exec(name + "= 6") >>> print var_1 6