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
Pokyny k cvičení
- Naimportuj funkci
reducez modulufunctools. - Ve volání
reduce()předej lambda funkci, která přijímá dva řetězcové argumentyitem1aitem2a zřetězí je; předej také seznam řetězcůstark. Výsledek přiřaď do proměnnéresult. Prvním argumentem funkcereduce()by měla být lambda funkce a druhým seznamstark.
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)