ПочатиПочніть безкоштовно

Reduce() і lambda-функції

Ви вже чудово працюєте з lambda-функціями! Ось іще одна функція, яку варто додати до вашого арсеналу. Функція 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() і lambda-функції, яка об'єднує рядки між собою.

Ця вправа є частиною курсу

Вступ до функцій у Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте функцію reduce з модуля functools.
  • У виклику reduce() передайте lambda-функцію, що приймає два рядкові аргументи item1 і item2 та конкатенує їх; також передайте список рядків stark. Присвойте результат змінній result. Першим аргументом reduce() має бути lambda-функція, другим — список 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)
Редагувати та запускати код