Menu
Coddy logo textTech

Funkcja map

Część sekcji Logika i przepływ programu ścieżki Python w Coddy. Lekcja 72 z 78.

Funkcja map() przyjmuje dwie główne rzeczy:

  1. Funkcję (która zawiera instrukcje dotyczące tego, co należy zrobić)
  2. Sekwencję elementów (taką jak lista lub dowolny zbiór elementów)

Następnie stosuje tę funkcję do każdego elementu sekwencji, po kolei, i zwraca wszystkie wyniki.

Na przykład:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # To tylko lista liczb
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Wynik: [1, 4, 9, 16, 25]

Co się tutaj stało:

  • Mamy listę liczb: [1, 2, 3, 4, 5]
  • Funkcja map() pobiera kolejno każdą liczbę
  • Przekazuje każdą liczbę do naszej funkcji square
  • Zbiera wszystkie wyniki w odpowiedniej kolejności

Możesz wyobrazić to sobie jak linię montażową:

  1. Wchodzi liczba 1 → funkcja square zamienia ją w 1
  2. Wchodzi liczba 2 → funkcja square zamienia ją w 4
  3. Wchodzi liczba 3 → funkcja square zamienia ją w 9 I tak dalej...

Możesz także użyć funkcji lambda zamiast definiować osobną funkcję:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Wynik: [1, 4, 9, 16, 25]

Funkcja map() działa z dowolną kolekcją elementów — nie tylko liczbami. Mogą to być ciągi znaków lub dowolny inny typ danych, które chcesz przetwarzać w ten sam sposób.

challenge icon

Wyzwanie

Łatwy

Utwórz funkcję o nazwie convert_to_uppercase, która przyjmuje listę ciągów znaków strings jako argument. Funkcja powinna użyć funkcji map() wraz z funkcją lambda, aby zamienić każdy ciąg znaków na liście na wielkie litery. Funkcja powinna zwrócić listę zawierającą ciągi znaków zapisane wielkimi literami.

Spróbuj swoich sił

def convert_to_uppercase(strings):
    # Użyj map() z funkcją lambda, aby zamienić ciągi znaków na wielkie litery
    # Zastąp poniższą pustą listę tym wyrażeniem
    uppercase_strings = []
    
    # Zwróć listę ciągów znaków zapisanych wielkimi literami
    return list(uppercase_strings)
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Python online