为什么Python要求以下内容成为全局名称?

时间:2015-04-30 19:53:34

标签: python csv

for i in range(len(rec)):
   temp[i] = rec[i]
   i = i + 1
return temp

我正在尝试解析CSV文件。此函数将1行分成单个单词,然后将它们存储到数组中。我认为Python的变量类型定义是自动的。为什么它会给我这个错误?

Name Error: global name 'temp' is not defined.

我从未在我的代码中使用过全局关键字。

1 个答案:

答案 0 :(得分:2)

你误解了Python中的列表。它们不是固定长度的数组。你想要做的是取一个空列表,并附加到它:

temp = []
for elem in rec:
   temp.append(elem)

另请注意,直接迭代一个事物(即rec - 而不是保留一个索引,更像是Pythonic。