Jak stworzyć słownik, który zachowuje kolejność par klucz-wartość?

Słowniki w Pythonie od wersji 3.7+ są oficjalnie “uporządkowane”, co oznacza, że zachowują kolejność dodawania elementów. To zmienia sposób, w jaki możemy używać słowników w Pythonie, szczególnie gdy kolejność elementów ma znaczenie. W tym artykule przyjrzymy się, jak wykorzystać tę właściwość słowników do przechowywania danych w określonej kolejności.

Przykład użycia

Rozważmy scenariusz, gdzie musimy stworzyć słownik przechowujący dni tygodnia w kolejności, w jakiej następują po sobie. Następnie chcemy dodać do tego słownika dodatkowe informacje dotyczące każdego dnia. Poniżej przedstawiam kompletny przykład, jak to zrobić:

# Tworzenie słownika z dniami tygodnia
days_of_the_week = {
    "Poniedziałek": 1,
    "Wtorek": 2,
    "Środa": 3,
    "Czwartek": 4,
    "Piątek": 5,
    "Sobota": 6,
    "Niedziela": 7
}

# Dodawanie informacji o tym, czy dzień jest roboczy
days_of_the_week["Poniedziałek"] = "Roboczy"
days_of_the_week["Wtorek"] = "Roboczy"
days_of_the_week["Środa"] = "Roboczy"
days_of_the_week["Czwartek"] = "Roboczy"
days_of_the_week["Piątek"] = "Roboczy"
days_of_the_week["Sobota"] = "Wolny"
days_of_the_week["Niedziela"] = "Wolny"

# Wyświetlenie słownika z zachowaniem kolejności
for day, status in days_of_the_week.items():
    print(f"{day}: {status}")

W tym przykładzie zaczynamy od stworzenia słownika days_of_the_week, który zawiera nazwy dni tygodnia jako klucze i początkowo ich numery jako wartości. Następnie zmieniamy wartości dla każdego klucza na opis, czy dany dzień jest roboczy czy wolny. Dzięki zachowaniu kolejności elementów w słowniku, kiedy iterujemy przez słownik za pomocą .items(), dni są wyświetlane w tej samej kolejności, w jakiej zostały dodane.

Podsumowanie

W Pythonie 3.7 i nowszych, słowniki zachowują kolejność elementów, co pozwala na bardziej intuicyjne i przewidywalne ich wykorzystanie, gdy kolejność ma znaczenie. Przykład pokazuje, jak łatwo możemy teraz manipulować kolejnością i wartościami w słowniku, zachowując przy tym czytelność i prostotę kodu. Ta właściwość otwiera nowe możliwości dla programistów, umożliwiając łatwiejsze zarządzanie uporządkowanymi danymi.

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