数组变量名称更改

时间:2018-03-03 06:31:25

标签: python variables iteration

我希望变量的变量数量变量等于数组。我知道有类似的问题已被提出,但没有提供我正在寻找的答案。我已经尝试过变量顶部和底部的元组或numpy数组,但都没有工作。我不在乎数字的类型是什么,因为我可以稍后转换它们,我只需要在每次迭代时更改变量名称。

i=[0] 
for x in i:
     top= (1,1,1)
     bottom= (1,1)

     top[i]=top
     bottom[i]=bottom
     i.append(x+1)          

感谢您的帮助。

编辑:这是一个可能更好地解释我尝试做的事情的例子。

for x in range(1,4):
       top = (1,1,1)
       bottom = (1,1)

       if x == 1:
             top1 = top
             bottom1 = bottom
       if x == 2:
             top2 = top
             bottom2 = bottom
       if x == 3:
             top3 = top
             bottom3 = bottom

在底部代码中我每次迭代都会创建一个新变量,但我只是在一定量的迭代中才这样做。如何进行无限量的迭代?

1 个答案:

答案 0 :(得分:0)

对于您提供的第一个示例,其行为很可能不符合您的预期,因为您在simultaneously iterating across it时修改了列表i

至于你的第二个例子,你所要求的是不可取,而且几乎肯定不是你真正想做的事情。有关详细信息,请参阅this questionthis other one

最后,我怀疑这实际上是解决问题的最佳方法,但您可以使用dictionary完成(大致)您在问题中尝试做的事情。

d = {}
v1 = (1,1,1)
v2 = (1,1)

for x in range(4):
    key1 = 'top' + str(x)
    d[key1] = v1
    key2 = 'bottom' + str(x)
    d[key2] = v2