当前位置: 代码迷 >> python >> python:将变量值插入变量名
  详细解决方案

python:将变量值插入变量名

热度:20   发布时间:2023-07-16 09:43:50.0

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

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

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

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

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

基本上它不喜欢像 var1 = foo var2 = bar var${id} 这样的变量实际上是一组具有相似特征的变量,这就是为什么你想以这种方式命名它。 尝试使用 list 或 dict 以更有效的方式对变量进行分组!

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

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

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

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