Выполнение различий по элементам в списках: лямбда-выражение и понимание списка
Нахождение различий между соседними элементами в списке — распространенная операция в программирование. В Python есть несколько способов сделать это, в том числе использование лямбда-выражений или списков.
Лямбда-выражение:
Лямбда-выражение можно использовать для создания функции «на лету», который затем можно использовать для работы с каждым элементом списка. Например:
t = [1, 3, 6]
differences = list(map(lambda i, j: j - i, t[:-1], t[1:]))
В этом случае лямбда-функция лямбда i, j: j - i вычитает (i)-й элемент из своего (i 1)-го элемента. Затем функция карты применяет эту функцию к каждой паре соседних элементов в списке.
Построение списка:
Понимание списка обеспечивает краткий способ создания нового списка на основе в существующем списке. Следующее понимание списка выполняет ту же операцию, что и лямбда-выражение выше:
differences = [j - i for i, j in zip(t[:-1], t[1:])]
Функция zip объединяет соседние элементы в списке в пары, и алгоритм обработки списка выполняет итерацию по этим парам. Для каждой пары (i, j) вычисляется разница j - i.
Сравнение:
Оба подхода имеют свои преимущества и недостатки. Лямбда-выражения более универсальны и могут использоваться в более широком диапазоне ситуаций. Однако представления списков зачастую более краткие и их легче читать.
Пример:
Для списка t = [1, 3, 6], оба лямбда-выражения и понимание списка выдаст следующий результат:
[2, 3]
Это потому, что первый разница (3–1) равна 2, а вторая разница (6–3) равна 3.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3