使用循环创建多个变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用循环创建多个变量相关的知识,希望对你有一定的参考价值。

假设我需要制作5个变量。由于这可能需要在将来进行调整,我正在使用循环。

i = 0
for j in range(5):
    i += 1
    w[i] = function(i)

#results in:
    w1 = function(1)
    w2 = function(2)
    #etc...

我知道上面的代码是不正确的。是否可以使用循环来创建不同的变量?

答案

要创建多个变量,您可以使用类似下面的内容,使用for循环并存储一对键值,其中key是不同的变量名称

    d={} #empty dictionary
    for x in range(1,10): #for looping 
        d["string{0}".format(x)]="Variable1"

输出看起来像{'string1':'Variable1','string2':'Variable1','string3':'Variable1','string4':'Variable1','string5':'Variable1','string6':' Variable1','string7':'Variable1','string8':'Variable1','string9':'Variable1'}

另一答案

您可以创建实际变量,但不能。使用列表

W = []
for j in range(5):
    ...
    W.append(function(i))
另一答案

你最好只使用一个列表。它更具可读性和更安全性。 但是,您可以使用globals()字典在全局命名空间中创建变量:

i = 0
for j in range(5):
    i += 1
    globals()["w" + str(i)] = function(i)

像这样使用它:

print (w1)

但是,这可能不是一个好主意。您可能会意外地覆盖命名空间中的某些内容,这将导致难以调试的错误。真的,尽量不这样做。

如果要按名称而不是索引(如列表中)调用它们,请使用您自己的字典:

my_variables = {}
i = 0
for j in range(5):
    i += 1
    my_variables["w" + str(i)] = function(i)

然后像这样使用:

print (my_variables["w1"])

以上是关于使用循环创建多个变量的主要内容,如果未能解决你的问题,请参考以下文章

R - 使用循环创建多个变量

在laravel foreach循环中传递多个变量[重复]

创建自己的代码片段(CodeSnippet)

python对多个变量循环赋值

有没有办法用 char 变量创建一个 for 循环来创建多个绘图?

如何使用for循环或条件在pandas数据框的子集中创建多个回归模型(statsmodel)?