Rozdział 11 · Mnóstwo informacji!

Zagnieżdżone struktury

Rzeczywiste dane rzadko są płaskie: listy słowników i słowników w słownikach są normą, a nie wyjątek.

Zagnieżdżone słownik

vlozhennyj_slovar.py
student = {
    "name": "Anna",
    "scores": {"math": 95, "python": 100},
}
print(student["scores"]["python"])   # 100
student
name → "Anna"
scores
math → 95
python → 100
student['scores']['python'] - Najpierw klucz obcy, potem klucz wewnętrzny

Lista słowników jest najczęstszym rzeczywistym wzorcem

spisok_slovarej.py
students = [
    {"name": "Anna", "score": 95},
    {"name": "Bob", "score": 82},
]

for student in students:
    print(student["name"], student["score"])
students (lista)
[0]
name → "Anna"
score → 95
[1]
name → "Bob"
score → 82
Lista słowników — tak często wyglądają rzeczywiste dane (wpisy z bazy danych, odpowiedzi API)
Lista słowników jest prawie JSON
Dokładnie tak organizowane są dane pochodzące z wielu serwisów internetowych (JSON) szczegółowo JSON omówimy w jednym z następnych rozdziałów, ale struktura „lista rekordów, każdy rekord ma swoje pola”

Słownik list — odwrotna wersja

slovar_spiskov.py
classroom = {
    "students": ["Anna", "Bob"],
    "scores": [95, 82],
}

Oba przedstawienia są prawidłowe — które wybrać, zależy od tego, jak będą przetwarzane dane dalej: lista słowniki są wygodniejsze, jeśli potrzebny jest często JEDEN pełny wpis (znaleźć Bob i wszystkie jego dane); słownik listy — jeśli częściej potrzebna jest JEDNA cała kolumna (wszystkie imiona lub wszystkie oceny).

Praktyka: Zagnieżdżone słowniki i słowniki lista
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →