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.