Как распечатать содержимое списка? - PullRequest
0 голосов
/ 02 ноября 2019

Я создал нумерованный список rank из списка total. Но я не могу напечатать какое-либо конкретное значение из списка rank.

Я попытался напечатать конкретное значение из списка rank, обойдя его с помощью цикла for, но получив ошибку

    print(rank[i][0])
IndexError: list index out of range
n=int(input())
total=[]
rank=sorted(list(enumerate(total)), key=lambda x:x[1])

for i in range(n):
    e,g,m,h=map(int, input().split())
    total.append([-(e + g + m + h)])

#print(total)

#print(rank)

for i in range(n):
    print(rank[i][0])

Ввод:

5
100 98 100 100
100 100 100 100
100 100 99 99
90 99 90 100
100 98 60 99

Ожидаемый вывод:

(-398,0), если rank[0][0] или т. Д.

Ответы [ 2 ]

1 голос
/ 02 ноября 2019

Вам нужно переместить rank создание после заполнения total, тогда оно отлично работает.

n = int(input())
total = []

for i in range(n):
    e, g, m, h = map(int, input().split())
    total.append([-(e + g + m + h)])

rank = sorted(list(enumerate(total)), key=lambda x: x[1])
for i in range(n):
    print(rank[i][0])
0 голосов
/ 02 ноября 2019
# print rank
for i in total:
    print(i[0])
...