Python:如何在for循环中创建新变量?

6
我正在尝试在循环中创建多个数组,并且需要在后续访问它们。我不明白为什么可以在循环内修改和打印,但在循环外部会提示变量不存在。
for i in range (0,3):
    a_i=[i]
    a_i.append(i+1)
    print a_i
print a_1

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


请阅读http://en.wikipedia.org/wiki/Scope_(computer_science)。 - jbowes
2
你没有定义 a_1,只有 a_i - bereal
5
因为某人的代码有误,而对其进行负评是没有必要的。他们之所以提出问题,正是因为代码存在错误。 - Zero Piraeus
@flabons 欢迎来到StackOverflow!我想告诉你,这里不是一个论坛,而是一个问答网站。如果您想讨论一个答案,请使用“添加评论”。如果您想提供更多细节,请编辑您的问题,我们会注意到的。只有在回答问题时才使用“回答”。 - Kos
1个回答

8
变量名是一种标记,按原样使用,即变量名不会在其他变量名内展开。
如果 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]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接