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.