1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Úvod do funkcí v Pythonu

Connected

cvičení

Map() a lambda funkce

Zatím jsi používal/a lambda funkce k psaní krátkých a jednoduchých funkcí a také k předefinování funkcí s jednoduchou funkcionalitou. Nejlepší využití lambda funkcí je ale tehdy, kdy chceš tuto jednoduchou funkcionalitu anonymně vložit do větších výrazů. To znamená, že funkcionalita není uložena v prostředí, na rozdíl od funkce definované pomocí def. Abys tuto myšlenku lépe pochopil/a, použiješ lambda funkci v kontextu funkce map().

Z videa si pamatuješ, že map() aplikuje funkci na objekt, například na seznam. Tady můžeš pomocí lambda funkcí definovat funkci, kterou map() použije ke zpracování objektu. Například:

nums = [2, 4, 6, 8, 10]

result = map(lambda a: a ** 2, nums)

Vidíš, že lambda funkce, která umocní hodnotu a na druhou, je předána funkci map() spolu se seznamem čísel nums. Map objekt, který vznikne voláním map(), je uložen v proměnné result. Teď si procvičíš použití lambda funkcí spolu s map(). V tomto cvičení namapuješ funkcionalitu funkce add_bangs(), kterou jsi definoval/a v předchozích cvičeních, na seznam řetězců.

Pokyny

100 XP
  • Ve volání map() předej lambda funkci, která ke řetězci item připojí řetězec '!!!'; předej také seznam řetězců spells. Výsledný map objekt přiřaď do proměnné shout_spells.
  • Převeď shout_spells na seznam a vypiš ho.