2013-08-03 106 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)):