Сьогодні я розповім про такий тип даних, як словники. про роботу зі словниками, операціях над ними, методах, про генераторах словників.
Словники в Python - невпорядковані колекції довільних об'єктів з доступом по ключу. Їх іноді ще називають асоціативними масивами або хеш-таблицями.
Щоб працювати зі словником, його потрібно створити. Створити його можна кількома способами. По-перше, за допомогою литерала:
По-друге, за допомогою функції dict:
По-третє, за допомогою методу fromkeys:
По-четверте, за допомогою генераторів словників, які дуже схожі на генератори списків.
Тепер спробуємо додати записів в словник і витягти значення ключів:
Як видно з прикладу, привласнення по новому ключу розширює словник, привласнення за існуючим ключу перезаписує його, а спроба вилучення неіснуючого ключа породжує виключення. Для уникнення виключення є спеціальний метод (див. Нижче), або можна перехоплювати виняток.
Що ж можна ще робити зі словниками? Так то ж саме, що і з іншими об'єктами: вбудовані функції. ключові слова (наприклад, цикли for і while), а також спеціальні методи словників.
методи словників
dict.clear () - очищає словник.
classmethod dict.fromkeys (seq [, value]) - створює словник з ключами з seq і значенням value (за замовчуванням None).
dict.get (key [, default]) - повертає значення ключа, але якщо його ні, не кидає виняток, а повертає default (за замовчуванням None).
dict.items () - повертає пари (ключ, значення).
dict.keys () - повертає ключі в словнику.
dict.pop (key [, default]) - видаляє ключ і повертає значення. Якщо ключа немає, повертає default (за замовчуванням кидає виняток).
dict.popitem () - видаляє і повертає пару (ключ, значення). Якщо словник порожній, кидає виняток KeyError. Пам'ятайте, що словники невпорядковані.
dict.setdefault (key [, default]) - повертає значення ключа, але якщо його ні, не кидає виняток, а створює ключ з значенням default (за замовчуванням None).
dict.update ([other]) - оновлює словник, додаючи пари (ключ, значення) з other. Існуючі ключі перезаписувати. Повертає None (не нова словник!).
dict.values () - повертає значення в словнику.