2015-11-21 2 views
-2

Кто-нибудь поможет мне понять, почему я продолжаю получать «индекс индекса вне диапазона» в качестве ошибки ??Python error - индекс индекса вне диапазона?

def printInfo(average): 
    average.sort() # sorts the list of tuples 
    average.reverse() # reverses the list of tuples 
    print('\tDate\t\tAverage Price') 
    for i in range(6): 
     print("\t{:.2f}".format(average[i][2], average[i][1], average[i][0])) 
+0

Необходимо указать, где происходит ошибка. – pgreen2

+0

строка 40 моей программы, так что это была бы последняя строка выше – DannyOReilly

ответ

2

Вы жёстко диапазон вашего цикла, и это, вероятно, больше, чем длина списка

Быстрое исправление

def printInfo(average): 
    average.sort() # sorts the list of tuples 
    average.reverse() # reverses the list of tuples 
    print('\tDate\t\tAverage Price') 
    for i in range(len(average)): #Change was here 
     print("\t{:.2f}".format(average[i][2], average[i][1], average[i][0])) 

однако, лучше исправить это использовать итерации :

def printInfo(average): 
    average.sort() # sorts the list of tuples 
    average.reverse() # reverses the list of tuples 
    print('\tDate\t\tAverage Price') 
    for a in average: # loops through each item of average 
     print("\t{:.2f}".format(a[2], a[1], a[0])) 
+0

Спасибо, что исправил мою ошибку! Это не то, чего я хочу полностью, но это начало, так что спасибо! – DannyOReilly

+0

Поскольку этот ответ исправил вашу проблему, вы должны нажать галочку под стрелками для голосования для этого ответа. Это позволяет другим людям понять, что это «правильный» ответ. – pgreen2

Смежные вопросы