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

Od wersji Pythona 3.7, standardowe słowniki (dict) automatycznie zachowują kolejność wstawienia elementów. To znacząca zmiana w porównaniu do wcześniejszych wersji Pythona, gdzie kolejność elementów w słowniku była przypadkowa i nieprzewidywalna. W tym artykule przyjrzymy się, jak możemy wykorzystać tę cechę do tworzenia uporządkowanych struktur danych.

Kompletny przykład kodu z użyciem uporządkowanego słownika

Załóżmy, że potrzebujemy stworzyć słownik, który będzie reprezentował listę zadań do wykonania, gdzie kluczami są priorytety, a wartościami – opisy zadań. Chcemy, aby zadania były automatycznie uporządkowane od najwyższego priorytetu do najniższego. Pokażemy, jak to zrobić krok po kroku.

# Inicjalizacja uporządkowanego słownika z zadaniami
tasks = {
    3: "Opracować raport",
    1: "Odpowiedzieć na e-maile",
    2: "Przygotować prezentację",
    4: "Spotkanie z zespołem"
}

# Dodawanie nowego zadania z zachowaniem kolejności
tasks[5] = "Zaktualizować dokumentację"

# Wyświetlanie zadań w kolejności od najwyższego
# priorytetu do najniższego
for priority, task in tasks.items():
    print(f"Priorytet {priority}: {task}")

W tym przykładzie najpierw inicjujemy słownik tasks z czterema zadaniami, dodając je w kolejności nielinearnej, aby zademonstrować, że kolejność dodania jest zachowana. Następnie dodajemy jeszcze jedno zadanie, aby pokazać, że kolejne elementy są dodawane na końcu. Wypisując zadania w pętli, zobaczymy, że są one prezentowane w dokładnie tej samej kolejności, w jakiej zostały dodane do słownika.

Podsumowanie

Od Pythona 3.7, słowniki dict zachowują kolejność dodawania elementów, co pozwala na ich użycie jako uporządkowanych struktur danych. Jest to szczególnie przydatne, gdy kolejność par klucz-wartość ma znaczenie dla logiki naszego programu lub gdy chcemy zapewnić czytelność i spójność danych wyjściowych. Ta cecha sprawia, że słowniki w Pythonie są jeszcze bardziej elastyczne i mogą być stosowane w szerszym zakresie zastosowań.

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