Zacznij terazZacznij za darmo

Funkcja reduce() i funkcje lambda

Świetnie radzisz sobie z funkcjami lambda! Czas poznać jeszcze jedno narzędzie, które warto mieć w swoim arsenale. Funkcja reduce() przydaje się do wykonywania obliczeń na liście i – w przeciwieństwie do map() oraz filter() – zwraca pojedynczą wartość. Aby jej użyć, musisz ją zaimportować z modułu functools.

Pamiętasz funkcję gibberish() z wcześniejszych ćwiczeń?

# Define gibberish
def gibberish(*args):
    """Concatenate strings in *args together."""
    hodgepodge = ''
    for word in args:
        hodgepodge += word
    return hodgepodge

gibberish() przyjmuje listę ciągów znaków i zwraca jako pojedynczą wartość ich połączenie. W tym ćwiczeniu odtworzysz tę funkcjonalność, korzystając z reduce() i funkcji lambda, która łączy ciągi znaków ze sobą.

To ćwiczenie jest częścią kursu

Wprowadzenie do funkcji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj funkcję reduce z modułu functools.
  • W wywołaniu reduce() przekaż funkcję lambda, która przyjmuje dwa argumenty tekstowe item1 i item2 i łączy je ze sobą, a także listę ciągów znaków stark. Wynik przypisz do zmiennej result. Pierwszym argumentem reduce() powinna być funkcja lambda, a drugim – lista stark.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod