Python словари как вывести значение по ключу

№12 Словарь (dict) / Уроки по Python для начинающих

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

Доступ к элементам

Вы можете получить доступ к элементам словаря ссылаясь на его ключевое название.
Получим значение по ключу “model” :

Существует так же метод под названием get() который даст вам тот же результат.

Изменить значение

Вы можете поменять значение указанного элемента ссылаясь на ключевое название.
Поменяем “year” на “2018”:

Цикл for по словарю

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

Выведем значения словаря, один за одним:

Вы так же можете использовать функцию values() для возврата значений словаря:

Пройдем по ключам и значениям, используя функцию items() :

Длина словаря

Для того, чтобы определить сколько элементов есть в словаре, используйте метод len() .

Добавление элементов

Добавление элементов в словарь выполняется с помощью нового ключа:

Удаление элементов

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

Метод popitem() удаляет последний элемент:

Ключевое слово del удаляет элемент по ключу:

Ключевое слово del может так же удалить полностью весь словарь:

Ключевое слово clear() очищает словарь:

Конструктор dict()

Вы так же можете использовать конструктор dict() для создания нового словаря.

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

В Python существует набор встроенных методов, с помощью которых вы можете работать со словарями.

Источник

Словари в Python 3 — основные методы и функции

В Python есть много встроенных структур данных, используемых для хранения разных типов информации. Словарь ( dict ) — одна из таких структур, которая хранит данные в формате пар ключ-значение. Получить доступ к значениям словаря Python можно с помощью ключей. Этот материал посвящен подробному обсуждению словаря.

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

Для создания словаря в Python необходимо передать последовательность элементов внутри фигурных скобок <> , разделив их запятыми ( , ). Каждый элемент имеет ключ и значение, выраженное парой «ключ: значение».

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

Следующие примеры показывают, как создавать словари Python:

Создание пустого словаря:

Cловарь, где ключи являются целыми числами:

Создание словаря с ключами разных типов:

Можно также создать словарь, явно вызвав метод dict() :

Словарь можно создать с помощью последовательности, как в примере внизу:

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

Чтобы вывести содержимое словаря, можно использовать функцию print() и передать название словаря в качестве аргумента. Например:

Доступ к элементами

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

Был создан словарь dict_sample . Затем была создана переменная x . Ее значение — это значение ключа [«model»] из словаря.

Вот другой пример:

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

Теперь вы знаете, как получать доступ к элементам словаря с помощью разных методов. В следующем разделе речь пойдет о добавлении новых элементов в уже существующий словарь.

Добавление элементов

Существует множество способов для добавления новых элементов в словарь. Можно использовать новый ключ и присвоить ему значение. Например:

У нового элемента ключ «Capacity» и значение — «180CC» . Он был добавлен в качестве первого элемента словаря.

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

Словарь ничего не возвращает, потому что в нем ничего не хранится. Добавим в нему элементы, один за одним:

Для добавления элементов были отдельно указаны ключи и соответствующие значения. Например:

В этом примере 0 является ключом, а «Apples» — значение.

Можно даже добавить несколько значений для одного ключа. Например:

В этом примере название ключа — «Value» , а все что после знака = — его значения в формате множества ( Set ).

Помимо добавления новых элементов в словарь, их можно обновлять или изменять. Об этом в следующем разделе.

Обновление элементов

После добавления значения в словарь существующий элемент словаря можно изменить. Для изменения значения используется соответствующий ключ. Например:

В этом примере видно, что было обновлено значение ключа «year» с 2012 на 2014 .

Удаление элементов

Удалить элемент из словаря можно несколькими способами. В этом разделе они будут рассмотрены по одному:

Ключевое слово del можно использовать для удаления элемента с конкретным ключом. Например:

Вызывается ключевое слово del , а следом за ним — название словаря. В квадратных скобках следом за словарем идет ключ элемента, который требуется удалить. В этом примере это «year» . Запись «year» удаляется из словаря.

Другой способ удалить пару ключ-значение — функция pop() с ключом записи в виде аргумента. Например:

Функция pop() была вызвана добавлением ее к названию словаря. В этом случае будет удалена запись с ключом «year» .

Функция popitem() удаляет последний элемент в словаре. Для нее не нужно указывать конкретный ключ. Примеры:

Последней записью в словаре была «year» . Она пропала из словаря после вызова функции popitem() .

Что делать, если нужно удалить целый словарь? Это будет сложно и займет много времени, если пользоваться этими методами к каждому ключу. Вместо этого можно использовать ключевое слово del для целого словаря. Например:

Код вернет ошибку, потому что функция print() пытается получить доступ к словарю, который уже не существует.

В определенных случаях может потребоваться удалить все элементы словаря, оставив его пустым. Этого можно добиться, воспользовавшись функцией clear() :

Код вернет пустой словарь, поскольку все его элементы уже удалены.

Другие распространенные методы словарей

Метод len()

С помощью этого метода можно посчитать количество элементов в словаре. Например:

В этом словаре три записи, поэтому метод вернет 3.

Метод copy()

Этот метод возвращает копию существующего словаря. Например:

Была создана копия словаря dict_sample . Она присвоена переменной x . Если вывести x в консоль, то в ней будут те же элементы, что и в словаре dict_sample .

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

Метод items()

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

Этот метод нужно вызывать вместе со словарем, как в примере ниже:

Объект, который возвращает items() , можно использовать, чтобы показать изменения в словаре. Вот как это работает.

Вывод демонстрирует, что когда вы меняете значение в словаре, объекты элементов также обновляются.

Метод fromkeys()

Этот метод возвращает словарь с указанными ключами и значениями. У него следующий синтаксис:

Значение требуемого параметра keys — итерируемые объекты. Оно отвечает за ключи нового словаря. Значение для параметра value указывать необязательно. Оно отвечает за значение по умолчанию для всех ключей. По умолчанию — None .

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

В коде вверху определены ключи и одно значение. Метод fromkeys() перебирает ключи и объединяет их со значением для создания заполненного словаря.

Значение для параметра keys является обязательным. В следующем примере показано, что происходит, если параметр values не определен:

Используется значение по умолчанию, None .

Метод setdefault()

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

У метода следующий синтаксис:

В этой функции параметр keyname является обязательным. Он обозначает название ключа, значение которого нужно вернуть. Параметр value необязательный. Если в словаре уже есть ключ, параметр не будет иметь никакого эффекта. Если ключ не существует, тогда значение функции станет значением ключа. Значение по умолчанию — None .

В словаре нет ключа color . Метод setdefault() вставляет этот ключ вместе со значением «Gray» .

Следующий пример показывает, как работает метод, если такой ключ уже есть:

Значение «Allion» не повлияло на словарь, потому что у ключа уже есть значение.

Метод keys()

Этот метод также возвращает итерируемый объект. Он является списком всех ключей в словаре. Как и метод items() , этот отображает изменения в самом словаре.

Для использования метода нужно всего лишь использовать его с именем словаря, как показано ниже:

Часто этот метод используется, чтобы перебрать все ключи в словаре:

Выводы

Это все, что нужно знать о словарях Python. Они хранят информацию в парах «ключ: значение». «Ключ» выступает идентификатором объекта, а «значение» — это определенные данные. В Python много функций, которые могут быть использовать для извлечения и обработки данных. В этой статье были рассмотрены способы создания, изменения и удаления словаря, а также самые распространенные методы для работы с этим типом данных.

Источник

Топ-10 методов словарей в Python

Словарь в Python используется для хранения наборов данных в виде пар ключ-значение. Он работает как ассоциативный массив, который встречается в других языках программирования. Для определения словаря используются фигурные скобки <> , а пара «ключ-значение» определяется при помощи двоеточия : . Содержимое ключа и значения может быть как числовым, так и строковым.

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

Метод items()

Метод items() используется для возврата списка кортежей с парами всех ключей и значений словаря.

Данный метод не принимает никаких аргументов.

Приведем пример использования данной функции.

Объявлен ​​словарь с именем products . Ключи содержат названия продуктов, а значения — их цены. Используем для нашего словаря метод items() и сохраним в другой переменной с именем itemlist , а затем выведем на экран.

Выполнив данную программу, получим следующий результат:

Метод keys()

keys() используется для возврата списка со всеми ключами словаря.

Этот метод также не принимает никаких аргументов.

Давайте рассмотрим метод keys() на примере. В скрипте объявлен ​​словарь с именем products . Как и в предыдущем примере, ключи содержат названия продуктов, а значения — их цену. Применим метод keys() , а возвращаемые значения сохраним в переменной с именем keylist , которую затем выведем на экран.

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

Метод setdefault()

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

Синтаксис: dictionary.setdefault(key_value [, default_value])

У этого метода два аргумента. Первый является обязательным и используется для указания ключа, по которому будет выполняться поиск в словаре. Второй аргумент опционален. Он используется для установки значения по умолчанию, если ключа, указанного в первом аргументе, не окажется в словаре. Если указанного ключа в словаре нет, а значение по умолчанию не определено, метод вернет «None».

Следующий пример показывает использование метода setdefault() в словаре. Возьмем все тот же словарь products . Для начала используем метод setdefault() с одним аргументом. Сохраним его в переменную с именем juice_price и выведем эту переменную на экран.

Ключ Mango Juice существует в словаре. Значение этого ключа 30, оно и выводится на экран.

А теперь давайте используем этот метод с двумя аргументами, сохраним в переменную с именем cake_price и выведем ее.

Выполним данный код и получим следующее:

Ключа Cake в словаре нет. Поэтому печатается значение по умолчанию для метода setdefault() , в нашем случае это 35.

Метод get()

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

Синтаксис: dictionary.get(key_value , default_value)

Данный метод возвращает значение, соответствующее указанному ключу (ключ задается в первом аргументе). Если же такого ключа в словаре не окажется, метод вернет значение по умолчанию, которое мы задаем во втором аргументе.

В следующем примере используется тот же словарь, что и во всех предыдущих. Здесь метод get() используется дважды, с двумя разными значениями ключа.

Первый ключ, переданный в метод get() , — Chocolate . Его нет в словаре, поэтому выводится значение по умолчанию.

Второй ключ, который мы передали в метод get() , — это Mango Juice . Такой ключ в словаре есть, поэтому на экран выводится его значение.

Метод len()

Метод len() используется для подсчета общего количества элементов в словаре (под элементом понимается пара ключ-значение).

Этот метод принимает словарь в качестве аргумента и возвращает общее количество элементов этого словаря.

Давайте рассмотрим данный метод на примере. Следующий скрипт подсчитывает общее количество элементов словаря products и выводит на экран это значение.

Выполнив данный код, получим, что наш словарь состоит из 4 элементов:

Метод pop()

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

Синтаксис: dictionary.pop(key [, value])

У этого метода два аргумента. Первый аргумент является обязательным и используется для указания ключа. Второй аргумент опционален. Он используется для установки значения по умолчанию, которое будет возвращено, если указанного в первом аргументе ключа не окажется в словаре.

Для лучшего понимания рассмотрим пример. Объявим словарь с именем dictvar , содержащий четыре элемента.

Сначала используем в качестве ключа Phone , а дополнительное значение указывать не будем.

Ключ Phone в словаре есть. Поэтому при использовании метода pop() возвращается его значение, после чего этот элемент удаляется из словаря.

А теперь давайте применим метод pop() с тем же первым аргументом ( Phone ), но к нему добавим и второй, необязательный аргумент.

При втором вызове метода pop() мы использовали тот же первый аргумент, но такой элемент уже был удален из словаря предыдущим pop() . Поэтому возвращается значение, заданное в опциональном аргументе метода pop() .

Метод update()

update() используется для двух словарей. Если какой-либо ключ второго словаря совпадает с любым ключом первого словаря, то значение ключа из первого словаря будет обновлено значением этого же ключа из второго словаря. Ключи второго словаря, не совпадающие ни с одним ключом из первого словаря, добавляются в конец первого словаря вместе со своими значениями.

В качестве аргумента метод принимает dictionary2 , который будет использоваться для обновления dictionary1 .

Рассмотрим пример. В следующем скрипте объявлены два словаря: dict1 и dict2 . dict2 используется для обновления dict1 с помощью метода update() . dict1 печатается до и после использования метода update() .

Запустим наш код. Вывод:

У словарей dict1 и dict2 есть один общий ключ, это 01113456 . Поэтому значение этого ключа в dict1 обновляется значением из dict2 . Второй ключ dict2 не существует в dict1 , поэтому этот элемент добавляется в конец dict1 .

Метод copy()

copy() используется для создания копии словаря. Это полезно, когда нам нужно сохранить исходную копию словаря перед изменением.

Этот метод не принимает никаких аргументов.

Рассмотрим пример. В следующем скрипте dict1 копируется в dict2 . Обе переменные используют разную память. Таким образом, если вы измените какое-либо значение одного словаря, это не повлияет на другую копию словаря. Изменим одно из значений dict2 и выведем оба словаря.

Запустим наш код. Можно заметить, что изменения в dict2 не вызывают никаких изменений в dict1 .

Метод sorted()

sorted() используется в словаре только для сортировки ключей.

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

Рассмотрим на примере. Объявим словарь с именем dictvar . Затем используем метод sorted() для сортировки его ключей и сохраним в переменной с именем sorted_key . Выведем значения этой переменной на экран.

В результате запуска этого кода получим список отсортированных по возрастанию ключей.

Метод clear()

И финальный метод из нашей подборки топ-10 методов словарей в Python. Данный метод используется, чтобы убрать все элементы из словаря, очистить его.

clear() не принимает никакие аргументы и возвращает пустой словарь.

Как и в предыдущем примере, объявим словарь с именем dictvar . Затем применим к нему метод clear() . Для наглядности выведем на экран содержимое словаря до и после применения метода clear() .

Мы получили пустой словарь.

Заключение

В этой статье мы рассказали про топ-10 методов словарей в Python и показали их работу на простых примерах. Надеемся, это поможет вам более эффективно работать со словарями.

Источник

Читайте также:  Как отстирать акриловую краску с дивана
Оцените статью