Словари¶
Словари в Python - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.
Создание словарей¶
Чтобы работать со словарём, его нужно создать. Сделать это можно несколькими способами. Во-первых, с помощью литерала:
1 2 3 4 5 6 | |
Во-вторых, с помощью функции dict:
1 2 3 4 5 6 | |
В-третьих, с помощью метода fromkeys:
1 2 3 4 5 6 | |
В-четвертых, с помощью генераторов словарей, которые очень похожи на генераторы списков.
1 2 3 | |
Теперь попробуем добавить записей в словарь и извлечь значения ключей:
1 2 3 4 5 6 7 8 9 10 11 | |
Как видно из примера, присвоение по новому ключу расширяет словарь, присвоение по существующему ключу перезаписывает его, а попытка извлечения несуществующего ключа порождает исключение. Для избежания исключения есть специальный метод (см. ниже), или можно перехватывать исключение.
Что же можно еще делать со словарями? Да то же самое, что и с другими объектами: встроенные функции, ключевые слова (например, циклы for и while), а также специальные методы словарей.
Методы словарей¶
dict.clear()- очищает словарь.
dict.copy()- возвращает копию словаря.
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()- возвращает значения в словаре.