如何自动创建一系列变量?

时间:2015-05-28 05:42:55

标签: python-2.7

如何使用python自动创建一系列变量? 像这样:

tmp1=1;
tmp2=1;
tmp3=1;
tmp4=1;
tmp5=1;

3 个答案:

答案 0 :(得分:2)

看看这个SO question。你有几种方法可以做到这一点:

  • 使用字典或集合
  • 使用全局
  • 使用exec()方法

关于第一个解决方案(字典或集合) - 实际上并不是你要求的,即在全局范围内创建一个变量..但我会随时随地使用它。我不知道为什么我需要动态创建变量而不是使用某种数据类型。 我会说同时使用globals和exec()方法是一种不好的做法。

答案 1 :(得分:1)

将它们存储在字典中

d = {}
value = ['a','b','c']

for key in range(1, 3):
    d[key]= value[key]
print d
> {0:'a',1:'b',2:'c'}
print d[0]
> 'a'

(评论?我也是python的新手!)

答案 2 :(得分:0)

我想我在某个地方得到了答案:



for i in range(100):
    locals()['tmp%d'%i]=1




或:



>>> for i in range(1, 10):
...     exec 'tmp' + str(i) + '=1'




我不知道我是否有歧义描述,上面两个是我想要的。