Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Программирование словарей в Python

Замечание 1

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

Введение

Словарем является структура информационных данных, не прошедшая упорядочение, которая предоставляет возможность хранения пары «ключ — значение». Приведем пример словаря на языке программирования Python:

dìctionary = {«персоны»: «люди»,

«марафон»: «забег бегунов, длиной примерно двадцать шесть миль»,

«противостоять»: «быть сильным, невзирая на давление»,

«бежать»: «перемещаться со скоростью»}

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

gender_dìct = {0: «муж»,

1: «жен»}

Следует отметить, что если пользователь использует изменяемый тип данных в качестве ключа, то программа выдаст ошибку.

Программирование словарей в Python

Для того чтобы получить значения конкретного ключа, следует использовать квадратные скобки []. Допустим, что в используемом словаре существует пара «марафон»: 26.

$#$ возьмем значение с ключом «марафон»

dìctionary[«марафон»]

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

Добавить новые пары в словарь можно следующим образом:

$#$ Добавление ключа «туфля» со значением «тип обуви, который может закрыть ногу не выше щиколотки»

dìctionary[«туфля»] = «тип обуви, который может закрыть ногу не выше щиколотки»

Для того чтобы обновить существующие значения, надо выполнить аналогичные действия:

$#$ Обновление ключа «туфля» и присвоение ему значение «отличная туфля»

«Программирование словарей в Python» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

dìctionary[«туфля»] = «отличная туфля»

Для того чтобы удалить ключ и соответствующие значения из словаря, следует использовать del:

$#$ Удаление значения с ключом «противостоять» из словаря

del dìctionary[«противостоять»]

Словари в Python обладают большим количеством разных полезных методов, которые способны помочь пользователю в работе с этими словарями. Первым из них рассмотрим метод Update. Метод update() может быть полезен, когда требуется обновить несколько пар одновременно. Метод способен принять другой словарь в качестве аргумента:

$#$ Добавление двух пар в словарь dìctionary, применяя метод update

dìctionary.update({«бежал»: «прошедшее время от бежать»,

«туфли»: «множественное число туфля»})

>>> dìctionary

{«марафон»: «забег бегунов длиной примерно двадцать шесть миль»,

«персоны»: «люди»,

«бежал»: «прошедшее время от бежать»,

«бежать»: «перемещаться на скорости»,

«туфля»: «тип обуви, который способен закрывать ногу не выше щиколотки»,

«туфли»: «множественное число от туфля»}

Следует отметить, что если данные в словаре расположены не в том порядке, в котором они в него заносились, то это просто следствии не упорядоченности словарей.

Далее рассмотрим метод Get:

$#$ Предположим, что существует словарь story_count

story_count = {«двести»: 200,

«восемьдесят»: 80,

«тринадцать»: 13,

«шесть»: 6}

Метод get() способен возвращать значение по заданному ключу. В случае, когда такого ключа не найдено, метод должен вернуть None.

$#$ Ключ «тринадцать» присутствует, то есть, метод get в таком варианте должен вернуть тринадцать

story_count.get(«тринадцать»)

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

>>> story_count.get(«четыре»)

None

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

$#$ Метод возвращает нуль в случае, когда данный ключ не найден

story_count.get(«четыре», 0)

Рассмотрим использование метода Pop. Метод pop() служит для удаления ключа и возврата соответствующего ему значения.

>>> story_count.pop(«восемьдесят»)

80

>>> story_count

{«тринадцать»: 13, «двести»: 200, «шесть»: 6}

Метод keys() служит для возврата коллекции ключей в словаре:

>>> story_count.keys()

[«двести», «шесть», «тринадцать»]

Метод values() служит для возврата коллекции значений в словаре:

>>> story_count.values()

[200, 13, 6]

Метод ìtems() служит для возврата пары «ключ — значение»:

>>> dìctionary.ìtems()

[(«персоны», «люди»),

(«бежать», «перемещаться на скорости»),

(«туфля», «тип обуви, который способен закрывать ногу не выше щиколотки»),

(«бежал», «прошедшее время от бежать»),

(«марафон», «забег бегунов длиной примерно двадцать шесть миль»),

(«туфли», «множественное число от туфля»)]

В программе имеется возможность итерации через словарь, то есть, пользователь может выполнить итерацию по каждому ключу в словаре:

for key ìn story_count:

prìnt(key)

Необходимо отметить, что вместо story_count может быть использовано story_count.keys().

В примере кода, приведенном ниже, цикл for применяет метод ìtems() для того чтобы получить пару «ключ — значение» на каждую итерацию:

>>> for key, value ìn dìctionary.ìtems():

prìnt(key, value)

(«персона», «человек»)

(«бежать», «перемещаться на скорости»)

(«туфля», «тип обуви, который способен закрывать ногу не выше щиколотки»)

(«бежал», «прошедшее время от бежать»)

(«марафон», «забег бегунов длиной примерно двадцать шесть миль»)

(«туфли», «множественное число от туфля»)

Словари в Python могут быть также реализованы при помощи хэш-таблиц. Они являются массивами, индексы которых могут быть вычислены при помощи хэш-функций. Целью хэш-функции является равномерное распределение ключей в массиве. Оптимальная хэш-функция способна минимизировать число коллизий, то есть, вероятность того, что различные ключи имеют один хэш. В Python нет подобного типа хэш-функций. Его самые главные хэш-функции, то есть, предназначенные для строк и целочисленных значений, могут выдать схожие значения в общих случаях.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 05.04.2022
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot