СЛОВНИКИ
Курс: Python для аналітиків з нуля
1. ЩО НАВЧИМОСЯ РОБИТИ
Створити базу даних позивних, швидко знаходити за назвою, зберігати вкладені структури.
Словник = база даних у Python. Ключ → значення. Швидкий пошук, зручне зберігання. Основа для роботи з JSON, конфігами, базами.2. ТЕРМІНОЛОГІЯ
Словник (dict)
Колекція пар ключ-значення. У фігурних дужках: {"key": value}
Ключ (key)Унікальна назва. Тільки незмінні типи: рядок, число, tuple.
Значення (value)Будь-які дані: число, рядок, список, інший словник.
Вкладений словник (nested dict)Словник всередині словника. Ієрархія даних.
3. ТЕОРІЯ
3.1 Створення словника
# Порожній3.2 Методи словників
база = {3.3 Вкладені словники
# Повна база з координатами та статусом3.4 Різниця: словник vs список
# Список — пошук повільнийДля 10 елементів різниця мала. Для 10 000 — словник у 100+ разів швидший.
4. КОД З КОМЕНТАРЯМИ
Практичний приклад: журнал перехоплень з підрахунком активності:
# Журнал перехоплень (список подій)5. РОЗБІР ПО РЯДКАХ
if позивний not in активність — перевірка відсутності ключа
активність[позивний] = 1 — створення нового ключа
активність[позивний] += 1 — збільшення існуючого (скорочення для = активність[позивний] + 1)
max(dict, key=dict.get) — знайти ключ з максимальним значенням6. ЗАВДАННЯ 1: ЗНАЙТИ ПОМИЛКУ
Код падає з помилкою:
база = {"Альфа": 145.5}Виправ двома способами:
Спосіб 1: перевірка
if "Браво" in база:
Спосіб 2: .get()
print(база.get("Браво", "Немає даних"))7. ЗАВДАННЯ 2: СТВОРИТИ СТРУКТУРУ
Створи словник для збереження інформації про 3 радіостанції:
- Позивний як ключ
- Частота, координати (lat, lon), статус як значення
Приклад рішення:
станції = {8. ЗАВДАННЯ 3: ПІДРАХУНОК
Маєш список частот:
частоти = [145.5, 433.2, 145.5, 146.0, 433.2, 145.5, 146.0, 145.5]Створи словник: частота → кількість разів
Підказка: використай pattern з прикладу 4 (перевірка in, інкремент)Рішення:
підрахунок = {}9. ЗАВДАННЯ 4: ВКЛАДЕНІ ДАНІ
Маєш базу:
база = {Завдання:
- 1. Виведи частоту Альфа-1
- 2. Виведи широту (lat) Браво-2
- 3. Додай до Альфа-1 поле "статус": "активний"
Рішення:
# 110. РЕФЛЕКСІЯ
Я розумію різницю словник vs список
Я вмію створювати словники
Я знаю .get(), .keys(), .items()Я можу працювати з вкладеними словниками
Я використовую словники для підрахунку
11. ЩО ДАЛІ
Модуль 1.5: Міст — коли список, коли словник (таблиця рішень)
Головна думка: Словник = швидкий пошук за назвою. Список = порядок. Потрібен пошук? Словник. Потрібен порядок? Список.