如何在Python中增加变量名?

时间:2014-07-25 05:44:30

标签: python

我正在制作模拟程序。

我在启动程序之前用python list手动编写一些粒子的初始条件,例如

var1 = [mass_a, velocity_a, velocity_a]
var2 = [mass_b, velocity_b, velocity_b]
...

然后如何在for循环中更改变量中的数字?我试过的东西是

for i in range(2):
    print(var+str(i)) 

但他们没有工作

4 个答案:

答案 0 :(得分:4)

永远记住

如果您必须在示例中为数字后缀的变量命名,则应考虑顺序可索引数据结构,如数组或列表。在Python中创建一个List我们

var = [[mass_a, velocity_a, velocity_a],
       [mass_b, velocity_b, velocity_b]]

如果您必须使用不同的后缀命名变量,例如

var_A=[mass_a, velocity_a, velocity_a]

var_B=[mass_b, velocity_b, velocity_b]

您应该考虑非顺序可索引数据结构,如hashmap或dictionary。这个字典的关键应该是变化的后缀,值应该是分配给相应变量的值在Python中创建我们所做的字典

var = {'A':[mass_a, velocity_a, velocity_a],
       'B':[mass_b, velocity_b, velocity_b]}

答案 1 :(得分:0)

您可以将变量var1,var2,...放入列表并遍历列表,而不是依赖编号的变量名吗?

示例:

vars = [var1, var2]

for var in vars:
    do_something(var)

答案 2 :(得分:0)

在这里成为魔鬼的拥护者,你可以使这种方法如下工作。

for i in range(2):
    print( globals()["var"+str(i+1)] )

答案 3 :(得分:0)

您可以将变量放在列表中并像上面一样迭代,

var_list = [var_a,var_b...]

for var in var_list:
    print var

或者,您可以将变量放在字典中,如

var_dict = {"var_a":var_a,"var_b":var_b,...}

for var in var_dict:
  print var_dict(var)