Python上的变量“生成器”使用其他变量

时间:2012-08-04 20:22:04

标签: python variables loops for-loop generator

我想知道,如果可以创建变量并在Python上命名使用字符串和其他变量。这对我正在帮助我真的很有帮助。

例如,我想创建10个变量:

var0
var1
var2
...

我尝试过这样的“for”循环:

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

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

非常感谢任何帮助。

3 个答案:

答案 0 :(得分: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]

答案 1 :(得分:6)

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

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

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

答案 2 :(得分:-1)

以下是您可以做的事情:

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

print var3