Методы словарей python

Резюме

Следующая таблица демонстрирует краткую сводку по всем рассмотренным методам для работы со словарями в Python 3. В таблице отображаются названия методов, а также информация о их назначении.

Название Назначение
update Объединение содержимого двух словарей в один
len Получение размера
items Возвращает пары (ключи и значения)
keys Возвращает ключи
values Возвращает значения
copy Копирует содержимое в другой словарь
clear Полная очистка всех элементов
eval Конвертация строки в словарь

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

Словари в Python — неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.

Чтобы работать со словарём, его нужно создать. Создать его можно несколькими способами. Во-первых, с помощью литерала:

>>> d = {} >>> d {} >>> d = {‘dict’: 1, ‘dictionary’: 2} >>> d {‘dict’: 1, ‘dictionary’: 2}

Во-вторых, с помощью функции dict:

>>> d = dict(short=’dict’, long=’dictionary’) >>> d {‘short’: ‘dict’, ‘long’: ‘dictionary’} >>> d = dict() >>> d {1: 1, 2: 4}

В-третьих, с помощью метода fromkeys:

>>> d = dict.fromkeys() >>> d {‘a’: None, ‘b’: None} >>> d = dict.fromkeys(, 100) >>> d {‘a’: 100, ‘b’: 100}

В-четвертых, с помощью генераторов словарей, которые очень похожи на генераторы списков.

>>> d = {a: a ** 2 for a in range(7)} >>> d {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36}

Теперь попробуем добавить записей в словарь и извлечь значения ключей:

>>> d = {1: 2, 2: 4, 3: 9} >>> d 2 >>> d = 4 ** 2 >>> d {1: 2, 2: 4, 3: 9, 4: 16} >>> d Traceback (most recent call last): File «», line 1, in d KeyError: ‘1’

Как видно из примера, присвоение по новому ключу расширяет словарь, присвоение по существующему ключу перезаписывает его, а попытка извлечения несуществующего ключа порождает исключение. Для избежания исключения есть специальный метод (см. ниже), или можно перехватывать исключение.

Что же можно еще делать со словарями? Да то же самое, что и с другими объектами: встроенные функции, ключевые слова (например, циклы for и while), а также специальные методы словарей.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *