Найти в Дзене
Секреты python

Словари в python. Зачем использовать и как создать?

Оглавление
Словарь - это структура для хранения данных в формате "ключ - значение" (например, артикул - > описание товара), которая позволяет находить информацию за минимальное время.
Примерами похожего способа хранения данных могут быть орфографический словарь, энциклопедия, телефонная книга и т. п.
При правильном применении словарь может сократить время работы программы в несколько раз и оптимизировать структуру кода.

Представим, что мы хотим сохранить номера телефонов друзей в своей программе и выбираем для этого словарь. Для записи данных мы должны понять, что отнести к ключу, а что - к значению.

Ключом должна быть уникальная запись, которая не будет повторяться в др. ключах этого словаря. Кроме того, ключом не может быть изменяемый тип данных. Например, список ([1,2,4]) или множество ({10,23,4}).

В нашем случае мы возьмём в качестве ключа номера телефонов, т. к. обычно они уникальны.

А ФИО приятелей запишем в значения. Они могут повторяться и хранят в себе основной груз информации связанной с ключом.

Один из вариантов оформления словаря в python.

Как создать пустой словарь

Короткий ({}) и длинный (через функцию dict()) способы создания пустого словаря
Короткий ({}) и длинный (через функцию dict()) способы создания пустого словаря

Создать словарь с записями

В отличие от первого примера ключ в формате int (целочисленный тип)
В отличие от первого примера ключ в формате int (целочисленный тип)

Добавить запись в словарь

-4

При добавлении записи мы указываем ключ и значение, как показано в последней строке.

Найти запись по ключу

Формат: имя_словаря[ключ]

Например: phonebook[84114334]

Для вывода результата (значения по ключу 84114334) используем функцию вывода на экран print().

Результат: Сергей Владимирович Иванов
Результат: Сергей Владимирович Иванов

Если ключ отсутствует?

Мы убрали одну цифру с конца номера phonebook[8411433]. Такой записи в словаре нет, поэтому видим ошибку и остановку работы кода.

-6

Решение: для проверки наличия ключей использовать метод .get(ключ, значение_если_его_нет).

phonebook.get(8411433) выдаст None, если ключ отсутствует.

Если указать второй аргумент phonebook.get(8411433, 'no info'), вместо None увидим 'no info'.

Результат: no info /нет инфо/
Результат: no info /нет инфо/

Другой способ проверки наличия ключа

Результат: not found /не найден/
Результат: not found /не найден/

Изменить запись

Результат: Сергей Владимирович Сидоров
Результат: Сергей Владимирович Сидоров

В строке phonebook[84114334] = 'Сергей Владимирович Сидоров' указывается ключ 84114334 и его новое значение, которое заменяет старое.

Удалить запись

Результат: not found /не найден/
Результат: not found /не найден/

Как увидеть все ключи и значения

-11

Как в цикле обойти все записи?

#питон #pythonснуля #программированиенаpython #словари #технологии #программированиеснуля #программированиедляначинающих
#питон #pythonснуля #программированиенаpython #словари #технологии #программированиеснуля #программированиедляначинающих