Функция reduce() и лямбда-функции
Вы отлично освоили лямбда-функции! Давайте добавим в ваш арсенал ещё один инструмент. Функция reduce() удобна для выполнения вычислений над списком и, в отличие от map() и filter(), возвращает единственное значение. Чтобы использовать reduce(), необходимо импортировать её из модуля functools.
Помните функцию gibberish() из одного из предыдущих упражнений?
# Define gibberish
def gibberish(*args):
"""Concatenate strings in *args together."""
hodgepodge = ''
for word in args:
hodgepodge += word
return hodgepodge
Функция gibberish() принимает список строк в качестве аргумента и возвращает единственное значение — конкатенацию всех этих строк. В этом упражнении вы воспроизведёте ту же логику, используя reduce() и лямбда-функцию для объединения строк.
Это упражнение является частью курса
Введение в функции Python
Инструкции к упражнению
- Импортируйте функцию
reduceиз модуляfunctools. - В вызове
reduce()передайте лямбда-функцию, которая принимает два строковых аргументаitem1иitem2и выполняет их конкатенацию, а также список строкstark. Присвойте результат переменнойresult. Первым аргументомreduce()должна быть лямбда-функция, вторым — списокstark.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import reduce from functools
# Create a list of strings: stark
stark = ['robb', 'sansa', 'arya', 'brandon', 'rickon']
# Use reduce() to apply a lambda function over stark: result
result = reduce(____, ____)
# Print the result
print(result)