如何创建变量名称?
就像我在循环中迭代一样,从0到100。
我需要在每次迭代中创建不同的变量并为其分配一些值。一个例子
for i in range(0,100):
'var'+i=i
似乎没有效果。我想在每次迭代中创建变量,如var0,var1等,并且应该能够使用这些名称访问它。有人可以建议我一个解决方案
答案 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