在循环中调用时,2D字典的KeyError,但非常相同的代码在循环外部工作

时间:2016-08-03 21:35:19

标签: python dictionary keyerror

我通过循环其元素来填充2D字典。这是字典的初始化:

    My2Ddict = defaultdict(dict)
    row_index = 0
    with open('/Path/To/CSVFile.csv', 'rb') as f:
        next(f) # skip header line
        reader = csv.reader(f, delimiter=',')
        for row in reader:
        row_index += 1
        My2Ddict[row_index]['title'] = row[2]

然后我尝试在'' My2Ddict''中添加新的键值:

    for story in My2Ddict:
        My2Ddict[story]['title_length'] = len(My2Ddict[story]['title'])

我收到错误:

    KeyError: 'title'

但是如果我在循环外运行以下命令,它可以正常工作并返回一个数值:

    print "len(My2Ddict[1]['title']): %n" %len(My2Ddict[1]['title'])

我已经检查过,这似乎不是索引问题。不知道如何继续......

0 个答案:

没有答案