НачатьНачать бесплатно

Функция 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)
Редактировать и запускать код