Я знаю ... e
это ... также индекс для запуска l oop
e
не индекс, это текущий элемент повторяемой последовательности.
key = lambda e: -abs(e[1]))
Лямбда-функция извлекает второй элемент из e
, передает его в abs
, умножает на минус один и возвращает результат.
Не зная, что такое abs
или каковы ваши значения данных, я создал их для иллюстрации.
>>> X_crime = [3,1,2]
>>> linlasso_coef_ = [9,10,11]
>>> def abs(n):
... return n*n
Разбивка l oop и лямбда:
Вы перебираете список отсортированных кортежей.
>>> list(zip(list(X_crime), linlasso_coef_))
[(3, 9), (1, 10), (2, 11)]
>>> sorted(list(zip(list(X_crime), linlasso_coef_)))
[(1, 10), (2, 11), (3, 9)]
На первой итерации e
равно (1,10)
.
>>>
>>> e = (1,10)
>>> e[1]
10
>>> abs(e[1])
100
>>> -abs(e[1])
-100
lambda
создает функцию выброса .
>>> lambda e: -abs(e[1])
<function <lambda> at 0x00000213E08538B0>
Функция назначается имени key
>>> key = lambda e: -abs(e[1])
>>> key
<function <lambda> at 0x00000213E0853F70>
Для использования позже (?)
>>> key(e)
-100
>>>
в чем его значение ??
Недостаточно информации, чтобы кто-либо мог адекватно прокомментировать, но предположительно key
используется позже в l oop для некоторого типа анализ (?).