Добавлен: 26.10.2023
Просмотров: 69
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
dict.fromkeys(iterable[, value]) – cоздает словарь с ключами из последовательности iterable и одинаковыми значениями value. Если значение value не указать, будет использовано значение по умолчанию None.
dict.get(key[, default]) – возвращает значение по ключу key. Если ключа в словаре не окажется, будет возвращено значение по умолчанию default. Если default не указать, будет возвращено None .
dict.setdefault(key[, default]) – также возвращает значение элемента по ключу key, но если элемента с таким ключом не окажется, в словарь будет добавлен новый элемент со значением default. Если же значение default передано не будет, метод установит добавляемому элементу значение None и вернет его.
dict.keys() – возвращает представление всех ключей словаря.
dict.values() – возвращает представление всех значений словаря (подробнее о представлениях мы поговорим в следующем пункте).
dict.items() – возвращает представление всех элементов словаря в виде кортежей с парами (key, value), где первые значения представляют собой ключи словаря, а вторые – соответствующие им значения.
dict.update([other]) – обновляет словарь, добавляя в него новые элементы или обновляя значения уже существующих, и возвращает None. В качестве источника новых ключей и значений выступает аргумент other, который может быть:
другим словарем;
итерируемым объектом с кортежами пар [(key_1, value_1), (key_2, value_2), ...], где первое значение будет ключом будущего элемента, а второе – соответствующим значением;
обычным набором пар key_1=value_1, key_2=value_2, ... (здесь, как и при создании словарей, в качестве ключей должны передаваться допустимые имена идентификаторов, которые в кавычки брать не нужно).
dict.pop(key[, default]) – удаляет и возвращает элемент с ключом key. Если элемент с указанным ключом отсутствует, будет возвращено значение по умолчанию default или возбуждено исключение KeyError, если значение по умолчанию передано не будет.
dict.popitem() – удаляет из словаря последний добавленный элемент и возвращает его в виде кортежа (key, value). Для пустого словаря вызов метода вызывает исключение KeyError. Отметим, что удалять элементы в порядке «последний пришел ‒ первый ушел» (LIFO) метод начал с версии Python 3.7. Ранее удаление происходило хаотично. Метод можно использовать, например, для деструктивного обхода элементов словаря, используемого для создания или изменения элементов другого словаря.
dict.copy() – возвращает поверхностную копию словаря.
dict.clear() – удаляет все элементы из словаря и возвращает None.
С методами словарей пока все. Теперь пройдемся по некоторым встроенным функциям, которые применимы к словарям. Остальные мы рассмотрим позже в процессе изучения материала по функциям.
len(dict) – возвращает количество элементов в словаре .
list(dict) – возвращает список ключей словаря.
iter(dict) – возвращает итератор по ключам словаря. Метод является более короткой записью инструкции iter(dict.keys()). В отличие от представления dict.keys(), итератор является статичным набором ключей, который определяется состоянием словаря в момент вызова метода.
reversed(dict) – возвращает итератор по ключам словаря, но с выводом ключей в обратном порядке. Метод является более короткой записью инструкции reversed(dict.keys()).
Представления словарей в Python
Представления словарей – это еще одни специальные итерируемые объекты, которые обеспечивают динамическое представление записей словаря. Это значит, что при изменении словаря (например, при удалении элемента) соответствующее представление будет автоматически изменяться, отражая эти изменения (см. пример №18).
Как видим, при изменении словаря его представления автоматически изменились. А вот итератор (преобразованный для наглядности в список) остался прежним.
Если по какой-то причине вместо представления тех же ключей словаря понадобится их список или кортеж, представление можно без проблем преобразовать с помощью соответствующего конструктора, например, list() или tuple(). Точно также, использовав встроенную функцию iter(), можно преобразовать представление в итератор.
Добавим, что для представлений также доступен ряд известных нам операций: функция len(), упомянутая только что функция iter(), метод reversed(), оператор проверки на вхождение in, а также обход посредством цикла for .
С другой стороны, поскольку представления не являются списками, они не поддерживают такие операции, как обращение к элементам по индексам или метод sort списков, а также не отображают значения своих элементов при выводе.
Представления во многом похожи на множества. Поэтому в Python 3 для представления ключей dict.keys() и представления элементов dict.items() стали доступны операции, определенные для множеств set .
Что касается аналогичных операций в отношении представлений элементов словарей dict.items(), то здесь важно понимать, что они должны быть неизменяемыми, иначе интерпретатор вернет ошибку .
После пересечения представлений интерпретатор возвращает не что иное, как множество. Но, если объекты представления ключей всегда хешируемы (т.к. в качестве ключей могут выступать только неизменяемые типы данных), то за объектами представлений элементов нужно следить, поскольку значения словаря могут оказаться любыми типом данных. Именно поэтому операции множеств не используются в отношении объектов представлений значений словаря dict.values().
Вывод
В Python словари представляют собой неупорядоченные изменяемые коллекции объектов произвольного типа с доступом по ключу. Данная структура может быть полезна во многих задачах. Мы также рассмотрели различные методы работы со словарями, которые должны помочь и упростить их использование, расширить функционал.
Списки и словари — два наиболее часто используемых типа Python. Как вы могли заметить, они имеют несколько общих черт, но отличаются способом доступа к элементам. Доступ к элементам списков осуществляется по числовому индексу в зависимости от порядка, а к элементам словаря — по ключу.
Это все, что нужно знать о словарях Python. Они хранят информацию в парах «ключ: значение». «Ключ» выступает идентификатором объекта, а «значение» — это определенные данные. В Python много функций, которые могут быть использовать для извлечения и обработки данных.
Список Литературы
-
https://pythonworld.ru/tipy-dannyx-v-python/slovari-dict-funkcii-i-metody-slovarej.html(Словари (dict) и работа с ними. Методы словарей) -
https://metanit.com/python/tutorial/3.3.php(Словари) -
https://pythontutor.ru/lessons/dicts/(Словари) -
https://codechick.io/tutorials/python/data-types-dicts(Словари в Python) -
https://sky.pro/media/slovari-python/(Как работать со словарями в Python) -
https://proglib.io/p/samouchitel-po-python-dlya-nachinayushchih-chast-6-metody-raboty-so-slovaryami-i-generatorami-slovarey-2022-11-29(Методы работы со словарями и генераторами словарей) -
https://pythonru.com/osnovy/python-dict(Словари в Python 3 — основные методы и функции) -
https://is42-2018.susu.ru/spiridonovani/2020/11/22/slovari-na-python/(Словари на Python)