Как я могу найти элемент в списке с наибольшим номером, а затем добавить номер в соответствующий список?

#python #list

#python #Список

Вопрос:

Вопрос может быть немного неясным, но у меня есть два списка: один с результатами, а другой с победами.

 scores = [140, 330, 260]
wins = [0, 0, 0]
 

В этом примере я хочу решить, какое наибольшее число, которое является вторым элементом в списке. Затем я хочу добавить выигрыш ко второму элементу в списке (соответствующему), чтобы подсчитать выигрыши.

Ответ №1:

Вот решение:

 scores = [140, 330, 260]
wins = [0, 0, 0]

index = scores.index(max(scores))
wins[index] = 1
print(wins)
# [0, 1, 0]
 

Ответ №2:

Вы можете использовать enumerate метод для возврата ряда индексов и их значений и найти максимальное значение оттуда. Это также даст вам индекс, который затем можно применить к wins:

 >>> scores = [140, 330, 260]
>>> wins = [0, 0, 0]
>>> wins[max(enumerate(scores), key  = lambda x : x[1])[0]]  = 1
>>> wins
[0, 1, 0]
 

Ответ №3:

один из способов — попробовать этот способ:

 winPosition = ""
biggest = ""

scores = [140, 330, 260]
wins = [0, 0, 0]

for highest in range(len(scores)):
    if biggest == "":
        biggest = scores[highest]
        winPosition = highest
    elif scores[highest] > biggest:
        biggest = scores[highest]
        winPosition = highest

wins[winPosition]  = 1