M3 L1 Słowniki

Słowniki

W ramach kursu zapoznaliśmy się z podstawowym sposobem przechowywania danych programistycznych jakim są zmienne. Listy pozwalały nam grupować dane w jeden ciąg, ale często potrzebujemy czegoś bardziej rozbudowanego i dającego większe możliwości.

Załóżmy, że chcemy przechowywać dane osobowe o użytkowniku naszego programu – imię, nazwisko, rok urodzenia. Możemy oczywiście stworzyć trzy różne zmienne o takich właśnie nazwach, co pozwoli nam zachować dane jednej osoby. Jeśli będziemy chcieli przechować dane kilku osób, użyjemy do tego celu listy. Dość szybko jednak dojdziemy do wniosku, że rozwiązanie takie staje się bezsensowne, gdy zechcemy operować na więcej niż trzech właściwościach.

W tym celu należy skorzystać ze struktur grupujących dane (zwykle stanowiące logiczną całość):

Tworzymy tutaj nowy typ danych nazywany w Pythonie „słownikiem” – w innych językach możemy spotkać się z określeniem mapa lub hash. Pozwala on na grupowanie wartości w jedną całość poprzez utworzenie par rozdzielonych dwukropkiem. Z lewej strony dwukropka jest tzw. klucz, który pozwala na zidentyfikowanie wartości znajdującej się po prawej stronie. Kolejne takie pary muszą być oddzielone przecinkiem, a całość zamknięta jest w nawiasy klamrowe.

Jest to rozwiązanie dość podobne do list, jednak zamiast numeru pozycji stosujemy faktyczną nazwę, dzięki której łatwo rozpoznać czego dotyczą dane. Dwukropek pełni wówczas rolę podobną do przypisania wartości zmiennej. Widzimy również, że gdy już utworzymy słownik, możemy zmieniać poszczególne wartości podobnie jak modyfikuje się pozycje na liście, stosując nawiasy kwadratowe oraz operator przypisania.

Zadanie

1. Do listy danych osobowych dodaj Pesel, złożony z 8 cyfr i zaczynający się zawsze od serii zer. Zastanów się jaki rodzaj zmiennych będzie dobry do tego celu.