Python 使用循环创建多个变量
假设我需要做5个变量。 因为这可能需要在将来进行调整,所以我使用了一个循环Python 使用循环创建多个变量,python,Python,假设我需要做5个变量。 因为这可能需要在将来进行调整,所以我使用了一个循环 i = 0 for j in range(5): i += 1 w[i] = function(i) #results in: w1 = function(1) w2 = function(2) #etc... 我知道上面的代码不正确。 是否可以使用循环创建不同的变量?您可以创建实际变量,但不能。使用列表 W = [] for j in range(5): ...
i = 0
for j in range(5):
i += 1
w[i] = function(i)
#results in:
w1 = function(1)
w2 = function(2)
#etc...
我知道上面的代码不正确。
是否可以使用循环创建不同的变量?您可以创建实际变量,但不能。使用列表
W = []
for j in range(5):
...
W.append(function(i))
您可以创建实际变量,但不能。使用列表
W = []
for j in range(5):
...
W.append(function(i))
要创建多个变量,可以使用下面的方法,使用for循环并存储一对键值,其中key是不同的变量名
d={} #empty dictionary
for x in range(1,10): #for looping
d["string{0}".format(x)]="Variable1"
输出看起来像
要创建多个变量,可以使用下面的方法,使用for循环并存储一对键值,其中key是不同的变量名
d={} #empty dictionary
for x in range(1,10): #for looping
d["string{0}".format(x)]="Variable1"
输出看起来像
你最好用一张单子。更具可读性和安全性。
但是,您可以使用
globals()
dictionary在全局命名空间中创建变量:
i = 0
for j in range(5):
i += 1
globals()["w" + str(i)] = function(i)
像这样使用它:
print (w1)
print (my_variables["w1"])
然而,这可能不是一个好主意。您可能会意外重写命名空间中的某些内容,这将导致难以调试的错误。真的,尽量不要那样做
如果您想按名称而不是索引(如列表中)调用它们,请使用您自己的字典:
my_variables = {}
i = 0
for j in range(5):
i += 1
my_variables["w" + str(i)] = function(i)
然后像这样使用:
print (w1)
print (my_variables["w1"])
你最好用一张单子。更具可读性和安全性。
但是,您可以使用
globals()
dictionary在全局命名空间中创建变量:
i = 0
for j in range(5):
i += 1
globals()["w" + str(i)] = function(i)
像这样使用它:
print (w1)
print (my_variables["w1"])
然而,这可能不是一个好主意。您可能会意外重写命名空间中的某些内容,这将导致难以调试的错误。真的,尽量不要那样做
如果您想按名称而不是索引(如列表中)调用它们,请使用您自己的字典:
my_variables = {}
i = 0
for j in range(5):
i += 1
my_variables["w" + str(i)] = function(i)
然后像这样使用:
print (w1)
print (my_variables["w1"])
仅仅使用列表有什么不对?很难在列表中存储numpy数组,也不会很快变得太复杂,这就是为什么我需要单独的变量。这是否回答了您的问题?仅仅使用列表有什么不对?很难在列表中存储numpy数组,也不会很快变得太复杂,这就是为什么我需要单独的变量。这是否回答了您的问题?就我而言,它们必须是vars(numpy是混乱的)。你能告诉我怎么做吗?你想在什么功能中使用它们??你可以像
globals()['w1']=value
那样添加它们,但这并没有什么意义。这可能是W.append(function(j))
而不是W.append(function(i))
@DavidC。这很有意义,但奇怪的是,没有。OP说function(i)
出于我的目的,它们需要是vars(numpy是凌乱的)。你能告诉我怎么做吗?你想在什么功能中使用它们??你可以像globals()