在for循环python中设置变量

时间:2014-03-26 18:43:11

标签: python for-loop

我有这段代码

for i in range(10):
    variablename = "file" + str(i)

我希望能够根据i变量生成变量 就像范围是10会有像这样的变量

  • 文件1
  • file2的
  • file3的
  • file4将
  • file5
  • file6
  • file7
  • file8
  • file9
  • file10

我该怎么做?

4 个答案:

答案 0 :(得分:4)

您可以使用词典

dict = {}
for i in range(10):
    dict["file" + str(i)] = "value for this var"

然后您可以使用变量名称

获取值
f1 = dict["file1"]

答案 1 :(得分:1)

你可以使用包含所有全局变量字典的globals()函数。如果您不熟悉范围或词典,我建议您阅读这两页

http://docs.python.org/2/library/stdtypes.html#typesmapping

Short Description of the Scoping Rules?

for i in range(10):
    globals()["file" + str(i)] = "newvarvalue!" + str(i)
print file0
print file1
print file2
print file3
print file4
print file5
print file6
print file7
print file8
print file9

编辑从解决方案中删除了locals()

答案 2 :(得分:0)

列表理解

filenames = ["file%d.txt"%i for i in range(1,11)]

或者如果您希望它们作为变量名称存储在P0lyb1us's Answer

中建议的字典中

答案 3 :(得分:-4)

您需要提供range()两个参数才能使其正常工作,因此您应该将代码更改为:

for i in range(1,11):
     variablename = "file" + str(i)