Я новичок в Python, и в настоящее время я решаю вопросы, чтобы улучшить свои навыки кодирования. Я наткнулся на вопрос, где я должен найти максимальное значение в List
, и это соответствующее значение в другом List
с таким же index
номером максимального значения.Работа с перечислением в Python
, например: У меня есть два Lists
со значениями L1 = [9, 12, 9 ,6]
и L2 = [2, 3, 4, 5]
Я должен найти максимальное значение в List L1
и индекс максимального значения следует использовать в List L2
найти это соответствующее значение.
Max value in List L1 - 12
Index of the max value - 1
print L2[1] -> 3
Чтобы достичь вышеуказанной логики, я перепробовал путь и получил его. Но я не могу понять, как работает эта логика.
import operator
index, value = max(enumerate(l1), key=operator.itemgetter(1))
print value,
print l2[index]
ВЫВОД: 12 3
Чтобы понять, как данная функция работает, я пытался напечатать каждый раздел по отдельности, но все еще не в состоянии понять, как логика работает.
print l1 - [9, 12, 9 , 6]
print l2 - [2, 3, 4, 5]
print list(enumerate(l1)) - [<0, 9>, <1, 12>, <2, 9>, <3, 6>]
print list(enumerate(l2)) - [<0, 2>, <1, 3>, <2, 4>, <3, 5>]
print max(enumerate(l1)) - <3, 6>
print max(enumerate(l2)) - <3, 5>
Пожалуйста, помогите мне понять, как enumerate
функция и key=operator.itemgetter(1))[0]
работает в вышеуказанной логике. Заранее спасибо. Ваша помощь очень ценится.
Вы Google штук? ['enumerate'] (https://www.google.com/search?q=python+enumerate), [' operator.itemgetter'] (https://www.google.com/search?q=python+itemgetter) и ['key'] (https://www.google.com/search?q=python+max+key)? Что конкретно вы не понимаете? – user2357112