Словари (dict) и работа с ними в python
Что такое словари в python?
В Python есть много встроенных структур данных, используемых для хранения разных типов информации. Одни из таких типов это словари.
Словари в Python - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.
Для каких целей будут полезны словари?
- Подсчет каких-то предметов, где ключи – названия предметов, а объект – их количество.
- Для экономии памяти.
- Установка соответствий между объектами, сортировка.
- Хранение данных разных объектов (например: ключ – ID пользователя telegram, а объект – массив с данными).
Ключом может быть произвольный неизменяемый тип данных: различные числа, строки, кортежи. Ключом в словаре не может быть множество, но может быть неизменяемый элемент типа frozenset. Значением элемента словаря может быть любой изменяемый или неизменяемый тип данных.
Создание словаря в Python
Давайте для начала создадим пустой словарь:
Словарь можно создавать несколькими способами:
- C помощью литерала
- С помощью функции dict
- С помощью метода fromkeys
- С помощью генераторов словарей
Рассмотрим каждый способ.
Давайте для начала создадим словарь с помощью литерала:
С помощью функции dict.
Функция dict() создает словарь, инициализированный из необязательного позиционного аргумента и возможно пустого набора ключевых аргументов.
С помощью метода fromkeys.
Метод fromkeys() создает новый словарь из заданной последовательности элементов со значением, предоставленным пользователем.
С помощью генераторов словарей.
Генераторы словарей — однострочные выражения, возвращающие словарь.
Также словари могут быть вложенными. Это значит, что можно создавать словари внутри существующего словаря. Например:
Обращение к элементам
Чтобы обратиться к элементам словаря, нужно передать ключ в квадратных скобках [ ]. Например:
Объект словаря также имеет функцию get(), которой можно пользоваться для доступа к элементам словаря. Ее нужно добавлять к словаря через точку и затем передавать название ключа как аргумент функции. Например:
Вывод один и тот же. Выбирайте сами, что вам удобнее использовать.
Методы словарей
У словарей есть методы, которые помогают сократить время работы с написание кода.
- 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() - возвращает значения в словаре.
На этом урок подошел к концу.
Подписывайтесь на канал, тут каждый день выходят новые уроки.
Все уроки, а также коды с уроков вы можете найти в моем telegram канале.
Также каждый день в telegram канале появляются полезные книги и пособия с материалом по программированию, а также выходят эффективные фишки, которые значительно упрощают вашу работу с программированием.