假设我需要制作5个变量。 由于这可能需要在将来进行调整,我正在使用循环。
i = 0
for j in range(5):
i += 1
w[i] = function(i)
#results in:
w1 = function(1)
w2 = function(2)
#etc...
我知道上面的代码不正确。 是否可以使用循环来创建不同的变量?
答案 0 :(得分:2)
您可以创建实际变量,但不能。使用列表
W = []
for j in range(5):
...
W.append(function(i))
答案 1 :(得分:2)
要创建多个变量,您可以使用类似下面的内容,使用for循环并存储一对键值,其中key是不同的变量名称
d={} #empty dictionary
for x in range(1,10): #for looping
d["string{0}".format(x)]="Variable1"
输出看起来像{' string1':' Variable1',' string2':' Variable1', ' string3':'变量1',' string4':'变量1',' string5': '变量1',' string6':'变量1',' string7':'变量1', ' string8':'变量1',' string9':'变量1'}
答案 2 :(得分:0)
您最好只使用一个列表。它更具可读性和安全性
但是,您可以使用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"])