Słowniki w języku Python

1. Wprowadzenie

  • Słownik (dictionary, dict) to wbudowana struktura danych w Pythonie przechowująca pary klucz → wartość (key → value).
  • Jest odpowiednikiem tablic asocjacyjnych, map lub obiektów w innych językach.
  • Klucze są unikalne i niemodyfikowalne (np. liczby, stringi, krotki), a wartości mogą być dowolnym obiektem.

Przykład:


2. Tworzenie słowników

Literał {}:

Konstruktor dict():

Z listy krotek:

Z zip():

Pusty słownik:


3. Dostęp do elementów

Różnica: [] wyrzuci błąd przy braku klucza, get() zwróci None lub wartość domyślną.


4. Modyfikacja słowników

Dodawanie / zmiana wartości

Usuwanie elementów


5. Iterowanie po słowniku


6. Przydatne metody słowników


7. Zagnieżdżone słowniki

Słowniki mogą przechowywać inne słowniki:


8. Słowniki a wydajność

  • Dostęp do elementu w słowniku jest bardzo szybki – działa w czasie O(1) dzięki implementacji w postaci tablicy haszującej.
  • Klucze muszą być hashowalne (np. liczby, stringi, krotki), ale nie listy ani inne słowniki.

Przykład poprawnego klucza:


9. Comprehensions dla słowników

Słowniki można tworzyć w sposób zwięzły:


10. Porównanie z listą i krotką

Cecha Słownik (dict) Lista (list) Krotka (tuple)
Struktura klucz → wartość indeks → wartość indeks → wartość
Kolejność od Pythona 3.7 – zachowana zachowana zachowana
Modyfikowalność ✅ tak ✅ tak ❌ nie
Szybkość wyszukiwania bardzo szybka (hash) wolniejsza (O(n)) wolniejsza (O(n))

11. Praktyczne zastosowania słowników

  • Przechowywanie danych w formacie klucz-wartość (np. konfiguracje).
  • Liczenie wystąpień elementów:
  • Grupowanie danych:
  • Jako prosty JSON (łatwo konwertować za pomocą json w Pythonie).