alarm
Задайте вопрос
Информатика
pace

Дан список из имён. Найдите самое длинное имя из списка функцией reduce?язык Python :)

ответы: 1
Зарегистрируйтесь, чтобы добавить ответ
Ответ:

Функция будет выглядеть следующим образом:

reduce(lambda x, y: x if len(x) > len(y) else y, name_list)

from functools import reduce

name_list = ["Вася", "Ольга", "Вячеслав", "Екатерина", "Саша"]

longest_name = reduce(lambda x, y: x if len(x) > len(y) else y, name_list)

Результат работы я закрепил.

Итак, первой строчкой мы импортируем саму функцию, в Python 3 reduce более не является встроенной функцией.

Вторая строка - список имён для примера.

Наконец, третьей строкой мы используем reduce и лямбда-выражение. Reduce принимает функцию и последовательность, он чем-то похож на map, только функция принимает по два значения из списка, в итоге первое из них - аккумулированное, т. е. результат выполнения предыдущего запуска лямбда-функции.

Проще говоря, мы последовательно проверяем длину (len) каждой строки со следующей, возвращая бОльшее значение. После чего уже идёт проверка бОльшего со следующим элементом. Результат - самая длинная строка.

И да, функция reduce в Python 3 уже не является актуальной. Более того - не рекомендуется к использованию.

335
Steven
Чтобы ответить необходимо зарегистрироваться.

Другие вопросы: - Информатика

Напиши программу на языке python

Python В первый год в поле N. б

В первый год в поле N. было 120

Как сделать функцию Восстановлен

Меньше среднего.C++Дан массив A

посчитайте на c++ Музыкальный фр

Контакты
Реклама на сайте