2012-11-18 202 views
3

我想在循环中创建几个数组,并有权访问它们。我不明白为什么我可以在循环中修改和打印它们,但在外面说变量不存在。Python:如何在for循环中创建新变量?

for i in range (0,3): 
    a_i=[i] 
    a_i.append(i+1) 
    print a_i 
print a_1 

有没有人可以给我一个关于如何解决问题的建议?

+0

必须通过http://en.wikipedia.org/wiki/Scope_(computer_science)读 – jbowes

+1

您还没有定义'a_1',只有'a_i'。 – bereal

+2

没有理由让某人倒下,因为他们的代码是错误的。他们的代码错了,他们为什么要问这个问题。 –

回答

6

变量名称是原样使用的令牌,即变量不会在其他变量名称内扩展。

如果是i == 1,您不能指望a_i等于a_1

为此,请使用数组或词典。

a = {} 
for i in range (0,3): 
    a[i] = [i] 
    a[i].append(i+1) 
    print a[i] 
print a 
print a[1]