[Solved] Python error – list index out of range?


You hard coded the range of your loop and it is probably greater than the length of the list

A quick fix is

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]))

however, a better fix is to use iteration:

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]))

2

solved Python error – list index out of range?