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ą
jsonw Pythonie).