2017-02-20 53 views
1

剛剛開始編程python。我有一個問題,這個錯誤IndexError:元組索引超出範圍。這個應用程序有點讀取大量的日誌文件。元組錯誤數組格式

我的示例清單:

arrline = ['Array0', 'Array1', 'Array2', 'Array3', 'Array4', 'Array5', 'Array6:', 'Array7', 'Array8', 'Array9', 'Array10', 'Array11', 'Array12', 'Array13', 'Array14', 'Array15', 'Array16'] 

當我使用

tmp1 = '{0}{1}{12}{5}{6}{17}'.format(*arrline) 
print tmp1 

我最終得到IndexError: tuple index out of range

但是當我嘗試

tmp1 = '{0}{1}{2}{3}{4}{5}'.format(*arrline) 

它沒有得到任何錯誤。

任何幫助,非常感謝。

+2

'{17}'需要'arrline'至少有18個項目。 –

回答

2

IndexError: tuple index out of range.

此錯誤試圖告訴你,你試圖從不在定義的元組索引範圍內的元組中獲取對象。您試圖打印的{17}不存在!

但是,由於元組中的16個項目,您的代碼可以執行直到{5}的請求項目!

嘗試其他項目添加到您的元組,或更改{17}{16}

0

因爲你的數組包含17個元素,但根據array indexing它的0-16,數組索引總是從0開始,所以,當你使用{17},此索引不可用,從0開始計算,這就是爲什麼你得到錯誤{17},而tmp1 = '{0}{1}{12}{5}{6}{17}'.format(*arrline)'