如何使用for语句在python中创建数千个变量
How to use the for statement to create thousands of variables in python
如果要在Python中创建数万个变量,有没有办法在for语句中做到这一点。我想要的是一个代码,当给定一个数字和一个值时,它可以创建该数量的变量并为它们分配该值。
def createVars(num, somevalue):
for x in range(num):
var1 = somevalue
var2 = somevalue
这个想法是让循环继续使用可靠的名称(var3、var4 等)创建变量并将它们分配给某个给定值。你怎么能让这个系统可以创建变量而不必显式命名所有变量?
您可以使用 globals():
>>> for i in xrange(10):
... globals()["x%d" % i] = i
...
>>> x0
0
>>> x1
1
>>> x2
2
>>> x10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x10' is not defined
def createVars(num, somevalue):
l = [{'var'+str(x):somevalue} for x in xrange(num)]
return l
如果要在Python中创建数万个变量,有没有办法在for语句中做到这一点。我想要的是一个代码,当给定一个数字和一个值时,它可以创建该数量的变量并为它们分配该值。
def createVars(num, somevalue):
for x in range(num):
var1 = somevalue
var2 = somevalue
这个想法是让循环继续使用可靠的名称(var3、var4 等)创建变量并将它们分配给某个给定值。你怎么能让这个系统可以创建变量而不必显式命名所有变量?
您可以使用 globals():
>>> for i in xrange(10):
... globals()["x%d" % i] = i
...
>>> x0
0
>>> x1
1
>>> x2
2
>>> x10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x10' is not defined
def createVars(num, somevalue):
l = [{'var'+str(x):somevalue} for x in xrange(num)]
return l