Jak posortować słownik w Pythonie według klucza lub wartości?

Python oferuje wszechstronne możliwości pracy ze słownikami, w tym sortowanie według kluczy lub wartości. Sortowanie danych jest podstawową operacją w programowaniu, która pozwala na uporządkowanie i łatwiejszą manipulację danymi. W tym artykule przedstawimy, jak można efektywnie sortować słowniki w Pythonie, korzystając z różnych metod.

Przykład kodu

W poniższym przykładzie pokażemy, jak posortować słownik zarówno według klucza, jak i wartości. Do demonstracji wykorzystamy słownik przechowujący nazwy owoców jako klucze i ich ilości jako wartości.

# Deklaracja słownika z owocami i ich ilościami
fruits = {"apple": 10, "orange": 20, "banana": 5, "cherry": 15}

# Sortowanie słownika według kluczy
sorted_by_key = dict(sorted(fruits.items()))
print("Posortowane według klucza:", sorted_by_key)
# Wynik: {'apple': 10, 'banana': 5, 'cherry': 15, 'orange': 20}

# Sortowanie słownika według wartości
sorted_by_value = dict(sorted(fruits.items(), key=lambda item: item[1]))
print("Posortowane według wartości:", sorted_by_value)
# Wynik: {'banana': 5, 'apple': 10, 'cherry': 15, 'orange': 20}

Sortowanie w miejscu vs tworzenie nowego słownika

Warto zauważyć, że sortowanie słownika w Pythonie zawsze prowadzi do utworzenia nowego słownika, ponieważ same słowniki nie są strukturami danych, które mogą być sortowane w miejscu. To oznacza, że oryginalny słownik pozostaje niezmieniony, a wynik sortowania jest zwracany jako nowy słownik.

Podsumowanie

Sortowanie słowników w Pythonie jest proste i intuicyjne, zarówno według kluczy, jak i wartości. Metoda sorted() oferuje elastyczność poprzez argument key, który pozwala na zdefiniowanie funkcji sortującej. Sortowanie słowników jest przydatną umiejętnością, szczególnie gdy potrzebujemy uporządkować dane przed ich przetworzeniem lub wyświetleniem.

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

Scroll to Top