Словари (dict) и работа с ними в python

Словари (dict) и работа с ними в python

Что такое словари в python?

В Python есть много встроенных структур данных, используемых для хранения разных типов информации. Одни из таких типов это словари.

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

Для каких целей будут полезны словари?

  • Подсчет каких-то предметов, где ключи – названия предметов, а объект – их количество.
  • Для экономии памяти.
  • Установка соответствий между объектами, сортировка.
  • Хранение данных разных объектов (например: ключ – ID пользователя telegram, а объект – массив с данными).

Ключом может быть произвольный неизменяемый тип данных: различные числа, строки, кортежи. Ключом в словаре не может быть множество, но может быть неизменяемый элемент типа frozenset. Значением элемента словаря может быть любой изменяемый или неизменяемый тип данных.

Создание словаря в Python

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

Словари (dict) и работа с ними в python
Словари (dict) и работа с ними в python

Словарь можно создавать несколькими способами:

  • C помощью литерала
  • С помощью функции dict
  • С помощью метода fromkeys
  • С помощью генераторов словарей

Рассмотрим каждый способ.

Давайте для начала создадим словарь с помощью литерала:

Словари (dict) и работа с ними в python
Словари (dict) и работа с ними в python

С помощью функции dict.

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

Словари (dict) и работа с ними в python
Словари (dict) и работа с ними в python

С помощью метода fromkeys.

Метод fromkeys() создает новый словарь из заданной последовательности элементов со значением, предоставленным пользователем.

Словари (dict) и работа с ними в python
Словари (dict) и работа с ними в python

С помощью генераторов словарей.

Генераторы словарей — однострочные выражения, возвращающие словарь.

Словари (dict) и работа с ними в python
Словари (dict) и работа с ними в python

Также словари могут быть вложенными. Это значит, что можно создавать словари внутри существующего словаря. Например:

Словари (dict) и работа с ними в python
Словари (dict) и работа с ними в python

Обращение к элементам

Чтобы обратиться к элементам словаря, нужно передать ключ в квадратных скобках [ ]. Например:

Словари (dict) и работа с ними в python
Словари (dict) и работа с ними в python

Объект словаря также имеет функцию get(), которой можно пользоваться для доступа к элементам словаря. Ее нужно добавлять к словаря через точку и затем передавать название ключа как аргумент функции. Например:

Словари (dict) и работа с ними в python
Словари (dict) и работа с ними в python

Вывод один и тот же. Выбирайте сами, что вам удобнее использовать.

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

У словарей есть методы, которые помогают сократить время работы с написание кода.

  • 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 канале появляются полезные книги и пособия с материалом по программированию, а также выходят эффективные фишки, которые значительно упрощают вашу работу с программированием.

22
Начать дискуссию