Začněte nyníZačněte zdarma

Reduce() a lambda funkce

S lambda funkcemi ti to jde skvěle! Přidáme ještě jednu funkci do tvého repertoáru. Funkce reduce() se hodí, když chceš provést výpočet nad seznamem a – na rozdíl od map() a filter() – vrátí jako výsledek jedinou hodnotu. Aby šla reduce() použít, musíš ji nejprve naimportovat z modulu functools.

Pamatuješ si na gibberish() z jednoho z předchozích cvičení?

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

gibberish() jednoduše přijme seznam řetězců jako argument a vrátí jako výsledek – jedinou hodnotu – jejich spojení dohromady. V tomto cvičení tuto funkci znovu vytvoříš pomocí reduce() a lambda funkce, která řetězce zřetězí.

Toto cvičení je součástí kurzu

Úvod do funkcí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Naimportuj funkci reduce z modulu functools.
  • Ve volání reduce() předej lambda funkci, která přijímá dva řetězcové argumenty item1 a item2 a zřetězí je; předej také seznam řetězců stark. Výsledek přiřaď do proměnné result. Prvním argumentem funkce reduce() by měla být lambda funkce a druhým seznam stark.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód