如何在python中创建变量变量名称

时间:2017-10-07 06:11:12

标签: python

如何创建变量名称?

就像我在循环中迭代一样,从0到100。

我需要在每次迭代中创建不同的变量并为其分配一些值。一个例子

for i in range(0,100):
   'var'+i=i

似乎没有效果。我想在每次迭代中创建变量,如var0,var1等,并且应该能够使用这些名称访问它。有人可以建议我一个解决方案

5 个答案:

答案 0 :(得分:2)

除非有充分理由动态创建多个变量,否则通常在这些情况下将事物放入某种列表中, 或字典:

mydict = {'var{}'.format(i):i for i in range(1,101)}

现在使用以下内容访问值:

mydict["var1"] # returns 1
mydict.get("var1") # returns 1
mydict.get("var101") # returns None

答案 1 :(得分:1)

要解决此问题,您可以尝试以下方法:

for x in range(0, 9):
    globals()['var%s' % x] = x

print var5

globals()函数生成一系列类似列表的值,可以使用典型的l[i]语法对其进行索引。

"var%s" % x使用%s语法创建一个模板,允许您使用各种值填充var字符串。

答案 2 :(得分:1)

我不喜欢你的想法,但是你可以在python中做到这一点:

for i in range(0,100):
    exec('var{i} = {i}'.format(i=i))

答案 3 :(得分:1)

我不建议使用不同的变量名称来执行此操作。相反,您可以将所有内容放入列表中,您仍然可以独立访问每个值。例如,你可以这样做:

var = []
for i in range(100):
    var.append(i)

然后你可以像这样访问该列表中的任何元素:

var[33]

这将返回33号。

如果您确实希望每个变量都是自己的变量,则可以使用其他人注意到的exec

答案 4 :(得分:1)

你应该更好地使用字典:

conda update anaconda-navigator