1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do funkcji w Pythonie

Connected

ćwiczenie

Map() i funkcje lambda

Do tej pory używałeś funkcji lambda do pisania krótkich, prostych funkcji oraz do redefiniowania funkcji o podstawowej funkcjonalności. Najlepszym zastosowaniem funkcji lambda jest jednak sytuacja, gdy chcesz anonimowo osadzić prostą funkcjonalność wewnątrz większego wyrażenia. Oznacza to, że funkcjonalność nie jest przechowywana w środowisku – w przeciwieństwie do funkcji zdefiniowanej za pomocą def. Żeby lepiej zrozumieć tę ideę, użyjesz funkcji lambda w kontekście funkcji map().

Przypomnij sobie z lekcji wideo, że map() stosuje funkcję do obiektu, na przykład listy. Możesz użyć funkcji lambda, aby zdefiniować funkcję, której map() użyje do przetworzenia obiektu. Przykład:

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

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

Widzisz tutaj, że do map() przekazywana jest funkcja lambda, która podnosi wartość a do potęgi 2, wraz z listą liczb nums. Obiekt map powstały w wyniku wywołania map() jest przechowywany w zmiennej result. Teraz przećwiczysz użycie funkcji lambda razem z map(). W tym ćwiczeniu zmapujesz funkcjonalność funkcji add_bangs(), którą zdefiniowałeś w poprzednich ćwiczeniach, na listę ciągów znaków.

Instrukcje

100 XP
  • W wywołaniu map() przekaż funkcję lambda, która łączy ciąg znaków '!!!' z ciągiem item; przekaż również listę ciągów znaków spells. Przypisz powstały obiekt map do zmiennej shout_spells.
  • Przekonwertuj shout_spells na listę i wyświetl ją.