Jak używać funkcji map ze słownikiem w Pythonie?

Funkcja map() w Pythonie jest narzędziem wyższego rzędu, które pozwala na stosowanie funkcji do każdego elementu iterowalnego (takiego jak lista czy krotka) i zwraca iterator mapujący wyniki. Ale co, jeśli chcielibyśmy zastosować map() do słownika? W tym artykule pokażemy, jak efektywnie korzystać z funkcji map() w połączeniu ze słownikami, aby transformować ich zawartość.

Kompletny przykład kodu z użyciem map() i słownika

Załóżmy, że mamy słownik, który zawiera nazwy produktów i ich ceny. Chcielibyśmy zaktualizować ceny poprzez zastosowanie pewnej funkcji, na przykład dodając 10% marży do każdej ceny. Poniżej znajduje się sposób, jak to zrobić, używając funkcji map().

# Definicja słownika z produktami i ich cenami
products = {
    "apple": 1.00,
    "banana": 0.50,
    "cherry": 0.75
}

# Funkcja, która zwiększa cenę produktu o 10%
def add_margin(price):
    return price * 1.10

# Używamy funkcji map() do zaktualizowania cen
# Przekształcamy słownik products na listę krotek,
# stosujemy funkcję add_margin, a następnie
# konwertujemy wynik z powrotem na słownik
updated_prices = dict(map(lambda item: (item[0], 
                                         add_margin(item[1])),
                          products.items()))

# Wyświetlenie zaktualizowanych cen
print(updated_prices)
# Wynik: {'apple': 1.1, 'banana': 0.55, 'cherry': 0.825}

Komentarze w kodzie wyjaśniają krok po kroku, jak funkcja map() jest stosowana do słownika. Najpierw przekształcamy słownik products na listę krotek za pomocą metody .items(). Następnie, za pomocą funkcji map() i lambda, aplikujemy funkcję add_margin do każdej ceny. Ostatecznie, wynik, który jest iteratorem, konwertujemy z powrotem na słownik za pomocą konstruktora dict().

Podsumowanie

Funkcja map() może być skutecznie używana ze słownikami w Pythonie, choć wymaga to pewnego przekształcenia danych wstępnych. Takie podejście pozwala na efektywne przetwarzanie i aktualizowanie zawartości słowników, zwłaszcza gdy potrzebujemy zastosować określoną funkcję do każdej wartości. Jak pokazano w przykładzie, kluczowe jest tu zrozumienie, jak przekształcić słownik w format przyjazny dla funkcji map(), a następnie z powrotem przekształcić wynikowe dane na słownik. Dzięki temu możemy wykorzystać moc funkcji map(), zachowując przy tym elastyczność i czytelność kodu w Pythonie.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Python w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top