需要在Python中创建帮助变量

时间:2008-12-17 13:47:52

标签: python variables

我想将变量创建为a1a2a3 ... a10。 为此,我使用了for循环。作为循环增量中的变量,我需要创建一个如上所述的变量。

任何人都可以给我一个想法吗?

在创建时,我还需要能够为它们分配值。

这就是我遇到语法错误的地方。

4 个答案:

答案 0 :(得分:13)

通常,我们使用列表,而不是一堆个别变量。

a = 10*[0]
a[0], a[1], a[2], a[9]

答案 1 :(得分:4)

按照S.Lott的说法,你也可以使用dict,如果你真的有一个独特的名字,并且项目的顺序并不重要:

data = {}
for i in range(0, 10):
  data['a%d' % i] = i

>>>data
{'a1': 1, 'a0': 0, 'a3': 3, 'a2': 2, 'a5': 5, 'a4': 4, 'a7': 7, 'a6': 6, 'a9': 9, 'a8': 8}

我想补充说,像你想要的那样自动化变量创建是非常危险的,因为你可能会覆盖已经存在的变量。

答案 2 :(得分:2)

globals()返回变量的全局字典:

for i in range(1,6):
    globals()["a%i" % i] = i

print a1, a2, a3, a4, a5      # -> 1 2 3 4 5

但坦率地说:我永远不会这样做,自动污染命名空间是有害的。我宁愿使用清单或字典。

答案 3 :(得分:-1)

您可以使用exec函数:

for i in range(0,10):
   exec("a%d=%d" % (i,i))

不是非常pythonic的做事方式。