Словники (dict) і робота з ними

Сьогодні я розповім про такий тип даних, як словники. про роботу зі словниками, операціях над ними, методах, про генераторах словників.

Словники в 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 ​​() - повертає значення в словнику.

Схожі статті