数组变量名称更改

问题描述 投票:0回答:1

我希望变量的变量数量变量等于数组。我知道有类似的问题已被提出,但没有提供我正在寻找的答案。我已经尝试过变量顶部和底部的元组或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

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

python variables iteration
1个回答
0
投票

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

至于你的第二个例子,你所要求的是不可取的,而且几乎肯定不是你真正想要做的。有关更多信息,请参阅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
© www.soinside.com 2019 - 2024. All rights reserved.