Funkcja map() w Pythonie to wbudowana funkcja, która stosuje podaną funkcję do każdego elementu iterowalnego, takiego jak lista czy krotka, zwracając iterator z wynikami. Służy do eleganckiej transformacji danych bez konieczności pisania pętli for, co czyni kod bardziej zwięzłym i czytelnym. Idealna do przetwarzania kolekcji w analizie danych.
Przykład w e-commerce
Rozważmy sklep internetowy, w którym analizujemy ceny produktów z różnych kategorii. Chcemy obliczyć cenę po rabacie 15% dla listy cen, aby szybko przygotować ofertę promocyjną.
# Lista cen produktów w PLN
ceny = [150.0, 200.0, 75.5, 300.0, 99.99]
# Funkcja obliczająca cenę po rabacie 15%
def cena_po_rabacie(cena):
return cena * 0.85 # 100% - 15% rabatu
# Zastosowanie map() - zwraca iterator, konwertujemy na listę
ceny_po_rabacie = list(map(cena_po_rabacie, ceny))
print("Ceny po rabacie:", ceny_po_rabacie)Podany kod przetwarza całą listę w jednej linii, oszczędzając czas przy dużych zbiorach danych sprzedażowych.
Zastosowanie
Kiedy używać map()?
- Przy transformacji dużych zbiorów danych, np. normalizacja cen, obliczanie marż czy konwersja walut w e-commerce.
- W połączeniu z lambdami dla prostych operacji:
list(map(lambda x: x * 1.23, ceny))– szybka zmiana waluty. - Zamiast pętli for, gdy nie potrzebujesz warunków if – zwiększa czytelność i wydajność.
- W pipeline'ach data science, np. przed agregacją w Pandas lub NumPy.
Unikaj przy złożonej logice – wtedy list comprehension jest lepsza.