0

我想知道,是否可以在 Python 上创建变量并命名使用字符串和其他变量。它真的会帮助我做某事。

例如我想创建 10 个变量:

var0
var1
var2
...

我试过用这样的“for”循环来做:

for i in range(10):
    'var'+str(i) = 0

但它给了我一个错误。请帮忙!

任何帮助将非常感激。

4

3 回答 3

6

您不想使用“变量”。你想使用字典:

>>> vars = {i:0 for i in range(10)}
>>> vars
{0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0}

现在您可以像这样访问每个元素var[6](并且您也不限于将整数作为字典键:)var["yay!"] = "Great!"

当然,对于 0 到 9 范围的特殊情况,你也可以简单地使用一个列表:

>>> vars = [0 for i in range(10)]
>>> vars
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
于 2012-08-04T20:25:30.140 回答
6

您需要使用列表,而不是大量变量:

>>> var = [1, 2, 5, 6, 7, 10]
>>> var[1]
2
>>> var [2]
5
>>>

我的经验法则是,如果三个以上的变量具有相似的名称(例如var1var2var3),请将它们放在一个列表中。

于 2012-08-04T20:26:01.760 回答
-1

这是您可以执行的操作:

for i in range(10):
    locals()['var' + str(i)] = 0

print var3
于 2012-08-04T20:31:35.280 回答