2013-08-03 105 views
0

当我使用此代码,它打印一切都好,然后给我一个错误: KeyError异常:14425L 代码:的Python - KeyError异常:14425L

i = 0 
while (i <= len(data)): 
    print data.ix[i]['Params'] 
    i += 1 

BTW:

data.keys() 
Out[67]: Index([u'Email Address', u'Hashed Email', u'Timestamp', u'Session Index', u'Event', u'Description', u'Version', u'Platform', u'Device', u'Params'], dtype=object) 
+1

为什么使用明确的'while'循环遍历索引?它*必须*可以使用普通的'for'来代替(这可以防止这种错误,并且具有更少的开销)。 – Bakuriu

+0

什么类型的对象是'data'? –

+0

通过索引进行迭代是unpythonic - 它很慢,很难阅读,只能用于序列,而不是任意的迭代。 –

回答

2

您正在访问最后一个索引。列表的最大索引是len(data) - 1

while (i <= len(data)): 

应该是:

while (i < len(data)):