如何在python

时间:2018-07-19 00:06:42

标签: python function loops variable-assignment

我有一系列名为model1model2,...

的变量

我想遍历它们中的每一个并执行一些任务。我想知道如何在每次迭代中将modelx分配给相同的占位符变量model并在model上工作?我曾想过要设计出一个适用于model的函数,但它要方便得多……我有什么遗漏吗?非常感谢任何建议,非常感谢!

1 个答案:

答案 0 :(得分:0)

好的,这是有史以来最糟糕的方法,但这是我首先想到的:

n = 1
models = []
while n <= 5: #or whatever number your modelx thing goes up to
    models.append(eval('model'+str(n)))
    n+=1

for model in models:
    #do your thing

换句话说,它基本上遍历了您拥有的所有不同数量的模型,并使用eval将其转换为实际变量。然后,将其添加到主列表,然后您可以按照自己的意愿进行操作。

免责声明:eval()应当谨慎使用,这可能不是一个好用处,尤其是在某种程度上与用户输入有关的情况下。无论如何,可能有更好的解决方案。您的命名模型也不是最好的。也许您可以将它们全部放入列表中以开始:

models = [model1, model2, model3, ... , modelx]
for model in models:
    #do stuff