Это будет печатать список из 3 наивысших элементов, каждый из которых связан с его индексом:
lst = [9,7,43,2,4,7,8,5,4]
print( sorted( [(x,i) for (i,x) in enumerate(lst)], reverse=True )[:3] )
. Несколько сложнее, если одно и то же значение может появляться несколько раз (это покажет самый высокий позиция для значения):
lst = [9,7,43,2,4,7,8,5,4]
ranks = sorted( [(x,i) for (i,x) in enumerate(lst)], reverse=True )
values = []
posns = []
for x,i in ranks:
if x not in values:
values.append( x )
posns.append( i )
if len(values) == 3:
break
print zip( values, posns )