52
Rozdział 2.
Więcej o strukturach danych
Nieuporządkowana struktura danych: słownik
Jeśli nie zależy Ci na przechowywaniu danych w określonej kolejności, ale liczy się ich struktura,
to wiedz, że Python oferuje dwa rodzaje nieuporządkowanych struktur danych:
słownik
i
zbiór
.
Przyjrzyjmy się po kolei każdemu z nich, zaczynając od pythonowego słownika.
Słownik: nieuporządkowany zbiór par klucz-wartość.
Jeśli masz już jakieś doświadczenie programistyczne, niewykluczone, że wiesz już, czym
jest
słownik
(ang. dictionary), możesz jednak znać go pod inną nazwą, taką jak tablica
asocjacyjna (lub też skojarzeniowa), mapa, tablica symboli czy tablica mieszająca (ang.
hash).
Podobnie jak ma to miejsce w przypadku tych struktur danych w innych językach
programowania, słownik w Pythonie umożliwia przechowywanie kolekcji par klucz-wartość.
Z każdym unikatowym
kluczem
w słowniku związana jest
wartość
, a słowniki mogą
przechowywać dowolną liczbę takich par. Wartościami związanymi z kluczami mogą być
dowolne obiekty.
Słowniki są nieuporządkowane i zmienne. Pythonowy słownik możesz traktować jak
dwukolumnową, wielowierszową strukturę danych. Tak jak listy, słowniki mogą się
rozrastać (i kurczyć) w zależności od potrzeby.
3
Coś, na co należy zwrócić uwagę, gdy korzysta się ze słownika, to fakt, że nie można polegać na
wewnętrznym porządku elementów używanym przez interpreter. W szczególności: interpreter
nie zachowuje kolejności, w której wprowadza się do słownika pary klucz-wartość, kolejność
ta nie ma też żadnego znaczenia (dla Pythona). Może to stanowić nie lada zagwozdkę dla
programistów, którzy po raz pierwszy stykają się z właściwością pythonowych słowników,
dlatego ostrzegamy Cię o niej już teraz. Dzięki temu, gdy ponownie — i bardziej szczegółowo
— zajmiemy się słownikami w następnym rozdziale, nie doznasz zbyt wielkiego szoku.
Zachowaj jednak spokój: jeśli jest to konieczne, dane przechowywane w słownikach da się
wyświetlać w określonym porządku. W kolejnym rozdziale zajmiemy się również opisem
sposobu umożliwiającego zrobienie tego w Pythonie.
obiekt
obiekt
obiekt
obiekt
klucz nr 4
Słownik
Słowniki łączą klucze z wartościami
i (podobnie jak listy) mogą się
dynamicznie kurczyć i rozrastać,
osiągając dowolny rozmiar.
Klucze
Wartości
klucz nr 1
klucz nr 3
klucz nr 2
Słownik
przechowuje pary
klucz-wartość.

Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.