How to create key or append an element to key?
I have an empty dictionary. Name: dict_x It is to have keys of which values are lists.
From a separate iteration, I obtain a key (ex: key_123 ), and an item (a tuple) to place in the list of dict_x ‘s value key_123 .
If this key already exists, I want to append this item. If this key does not exist, I want to create it with an empty list and then append to it or just create it with a tuple in it.
In future when again this key comes up, since it exists, I want the value to be appended again.
My code consists of this:
Get key and value.
See if NOT key exists in dict_x .
and if not create it: dict_x[key] == []
Afterwards: dict_x[key].append(value)
Словари в Python: что нужно знать и как пользоваться
Продолжаем осваивать «змеиный» язык. Сегодня поговорим о словарях — важном инструменте для хранения данных в Python.


Иллюстрация: Оля Ежак для Skillbox Media

Нет, словари нужны не для того, чтобы переводить запутанный код программистов на человеческий. Их используют для того, чтобы удобно хранить данные и быстро получать к ним доступ по запросу. В этой статье подробно разберём, что такое словари и как с ними работать в Python.
А если вы уже знакомы со словарями и хотите освежить в памяти отдельные моменты, используйте навигацию или скачайте шпаргалку в конце статьи.
Что такое словарь
Словарь в языках программирования — это что-то вроде телефонной книги, где под каждым номером скрывается какой-то человек.
Только на языке разработчиков номера называют ключами, а людей, которым они принадлежат, — значениями. Вот как это можно представить в виде таблицы:
| Ключ | Значение |
|---|---|
| 8 (984) 123-53-11 | Дизайнер Валера |
| 8 (934) 256-32-54 | Менеджер Егор (не отвечать) |
При этом ключи в словарях уникальны, а значения могут повторяться. Условно говоря, дизайнеру Валере может принадлежать сколько угодно номеров — но у каждого номера может быть только один владелец.
Мы привели пример с телефонной книгой, но вы можете хранить в словаре всё что угодно: названия песен, имена покупателей, товары в интернет-магазине и так далее. При этом стоит помнить важное правило:
Ключами могут быть строки, числа (целые и дробные) и кортежи. Нельзя использовать списки, словари и другие изменяемые типы данных. В значения можно «положить» любые типы данных — и даже новые словари.
Например, давайте в качестве ключа укажем название книги, а значением сделаем её автора.
| Ключ | Значение |
|---|---|
| «Гарри Поттер и философский камень» | Джоан Роулинг |
| «Убить пересмешника» | Харпер Ли |
| «Грокаем алгоритмы» | Адитья Бхаргава |
Теперь, если у нас есть название книги, мы можем быстро найти её автора. Этим словари и удобны: знаем ключ — моментально получаем значение.
Словарь — это неупорядоченная структура данных. Это значит, что все пары «ключ — значение» хранятся в произвольном порядке. Идея в том, что нам неважно, где находится элемент: в начале, в серединие или в конце. Важно то, что он лежит где-то внутри и мы можем при случае его достать.
Пример упорядоченной структуры — это список. Там у всех элементов есть свои индексы, благодаря которым их можно отсортировать как душе угодно. Если хотите больше знать о списках, читайте другую нашу статью. А мы пойдём дальше — создадим наш первый словарь.
Как создать словарь в Python
Словари в Python оформляются фигурными скобками. Внутри них находятся пары «ключ — значение». Первым пишется ключ, а затем, через двоеточие, — значение. Сами пары отделяются друг от друга запятыми.
По идее, можно вообще не указывать для ключей никаких значений: язык автоматически подставит вместо них значения None. Но словарь при этом всё равно будет работать.
Выведем на экран содержимое словаря с помощью функции print:
Показались только ключи. Теперь попробуем вывести полноценный словарь со значениями:
Операции со словарями
Мало просто создать словарь — иногда нам нужно взаимодействовать с отдельными его элементами. Разберёмся с базовыми операциями.
Как достать значение ключа из словаря
Если нам известен ключ, можно быстро извлечь из словаря его значение — для этого используйте квадратные скобки.
Если указать неправильный ключ, мы получим ошибку:
Ошибка говорит нам, что по заданному ключу ничего не нашлось.
Как добавить новый элемент в словарь Python
Теперь попробуем добавить в наш словарь с книгами ещё одну запись. Чтобы это сделать, в квадратных скобках указываем ключ, а потом, через знак равенства, добавляем значение.
Пробуем вывести содержимое словаря на экран — видим, что новая запись добавилась в самом конце.
Как удалить элемент из словаря Python
Чтобы удалить элемент из словаря, используют команду del. При этом нам достаточно ввести только ключ, а значение удалится вместе с ним.
Синтаксис немного необычный: мы пишем команду del перед тем, как обратиться к словарю. Но всё прекрасно работает, мы проверили 🙂
Как изменить значение ключа в словаре
Здесь всё просто: в квадратных скобках пишем уже существующий ключ, а через знак равенства указываем новое значение.
Выводим в консоль — видим, что значение первой пары поменялось.
Важное замечание. Если указать неправильный ключ, то мы вместо обращения к уже существующей паре создадим новую:
Чтобы избежать таких ситуаций, можно использовать безопасный метод get(), о котором мы поговорим в следующем разделе.
Какие методы работают со словарями в Python
Для словарей создали много полезных методов, которые облегчают привычные операции — например, можно одной функцией добавить в словарь несколько элементов или предусмотреть обработку ошибок.
Метод update()
Что делает: добавляет в словарь одну или сразу несколько пар «ключ — значение».
Как использовать: объявляем метод update(), внутри которого создаём новый словарь из элементов, которыми хотим дополнить существующий.
Метод get()
Что делает: возвращает значение из словаря по ключу — или None, если такого ключа не существует.
Попробуем передать ключ, которого нет в словаре:
У этого метода есть тайный козырь в рукаве. Вместо сухого и формального None он может вывести любое значение, которое вы захотите, — например, сообщение об ошибке. Для этого надо прописать нужное значение вторым аргументом. Мы решили добавить строчку с ошибкой:
В этом состоит главное преимущество метода get() перед обычными квадратными скобками — для обработки ошибок можно не писать объёмные конструкции try/except, а ограничиться всего одной аккуратной строчкой.
Метод pop()
Что делает: удаляет элемент из словаря по ключу.
Метод keys()
Что делает: возвращает все ключи из словаря — но без значений.
Метод values()
Что делает: возвращает все значения из словаря — но без ключей.
Словари (dict, dictionary) в Python
Словарь — это пример хранилища значений ключей, также известного как Mapping в Python. Он позволяет хранить и извлекать элементы, ссылаясь на ключ. Так как словари ссылаются по ключу, в них быстро работает поиск, поскольку они в основном используются для ссылки на элементы по ключу и они не сортируются.
Доступ к значениям словаря
Приведённый выше код выведет 1234 .
Строка «Hello» в этом примере называется ключом. Он используется для поиска значения в словаре, помещая ключ в квадратные скобки.
Число 1234 видно после соответствующего двоеточия в словаре. Это значение, на которое ведёт «Hello» в словаре.
Поиск значения, с несуществующим ключом, вызовет исключение KeyError , остановив выполнение. Если мы хотим получить доступ к значению, без риска получить KeyError , мы можем использовать метод dictionary.get . По умолчанию, если ключ не существует, метод вернет None . Мы можем передать ему второе значение, чтобы вернуть вместо None в случае неудачного поиска.
x = dictionary.get(«whatever», «nuh-uh»)
В этом примере w получит значение None , а x получит значение «nuh-uh» .
Конструктор dict()
Конструктор dict() можно использовать для создания словарей из именованных аргументов или из одной итерируемой пары ключ-значение или из одного словаря и именованного аргумента.
Как избегать исключений KeyError
Распространённая ошибка при использовании словарей — доступ к несуществующему ключу. Это обычно приводит к исключению KeyError :
Один из способов избежать KeyError — использовать метод dict.get , который позволяет вам указать значение по умолчанию, которое будет возвращать в случае отсутствия ключа.
Возвращает mydict[key] , если он существует, но в противном случае возвращает default_value . Обратите внимание, что это не добавляет key к mydict . Поэтому, если вы хотите сохранить эту пару ключ-значение, вы должны использовать mydict.setdefault(key, default_value) , который хранит пару ключ-значение.
Другой способ избавиться от ошибки — перехватить исключение
Вы также можете проверить, есть ли ключ словаре:
Обратите внимание, что в многопоточных средах ключ может быть удален из словаря после проверки, создавая состояние, при котором всё ещё может быть выдано исключение.
В качестве другого вариант можно использовать подкласс dict collection.defaultdict , который имеет значение default_factory для создания новых записей в dict при получении new_key .
Доступ к ключам и значениям
При работе со словарями часто требуется получить доступ ко всем ключам и значениям в словаре, в цикле for, в генераторе списка или просто в виде простого списка.
Словарь будет таким:
Вы можете получить список ключей, используя метод keys или функцию dict_keys :
Если вместо этого вы хотите получить список значений, используйте метод values или функцию dict_values :
Если вы хотите работать как с ключом, так и с соответствующим значением, вы можете использовать метод items или функцию dict_ items :
Примечание. Поскольку словари не отсортированы, keys , values и items не имеют порядка сортировки. Используйте функции sort , sorted или класс OrderedDict , если вам важен порядок, в котором возвращают эти методы.
Введение в словарь
Создание словаря
Словари можно создавать разными способами:
С помощью литерала
С помощью генератора словаря
Через встроенный класс dict()
Модификация словаря
Чтобы добавить элементы в словарь нужно создать новый ключ со значением:
Также можно добавить список или словарь в качестве значения:
Чтобы удалить элемент, нужно удалить ключ из словаря:
Словари со значениями по умолчанию
Доступно в стандартной библиотеке как defaultdict
В качестве альтернативы, если вы используете встроенный класс dict , использование dict.setdefault() позволит создать значение по умолчанию всегда, когда вы обращаетесь к отсутствующему ранее ключу:
Если вам нужно добавить много значений, dict.setdefault() будет создавать новый экземпляр начального значения (в этом примере a[]) каждый раз, когда оно вызывается, создавая лишнюю нагрузку.
Как создать упорядоченный словарь
Вы можете создать упорядоченный словарь, который будет следовать определенному порядку при переборе ключей в словаре.
Используйте OrderedDict из модуля collections . Он будет возвращать элементы словаря в исходном порядке когда переборка завершится:
Распаковка словарей с помощью оператора **
Вы можете использовать оператор распаковки именованного аргумента слова ** для доставки пар ключ-значение в словаре в аргументы функции. Упрощенный пример из официальной документации:
Начиная с Python 3.5 вы также можете использовать этот синтаксис для объединения произвольного числа объектов [ dict ].
Этот пример показывает, что дубликаты ключей соответствуют последнему значению (например, «Клиффорд» переопределяет «Немо»).
Объединений словарей
Рассмотрим разные словари:
Python 3.5+
В этом примере, дубликаты ключей соответствуют последнему значению (например, «Клиффорд» переопределяет «Немо»).
Python 3.3+
Здесь первостепенное значение отдаётся кокретному ключу, а не последнему («Клиффорд» выбрасывается в пользу «Немо»).
Python 2.x, 3.x
Здесь используется последнее значение, как и в методе слияния [**] («Клиффорд» переопределяет «Немо»).
Замыкающая запятая
Также как в списках или кортежах, можно добавлять замыкающую запятую в своем словаре.
PEP 8 требует, чтобы вы оставляли пробел между замыкающей запятой и закрывающей скобкой.
Все комбинации значений словаря
Дан словарь в примере выше, где есть список, представляющий набор значений для поиска соответствующего ключа. Предположим, вы хотите найти ‘x’ = «a» с ‘y’ = 10 , затем ‘x’ = «a» с ‘y’ = 10 и т. д., пока вы не переберете все возможные комбинации.
Вы можете создать список, который возвращает все такие комбинации значений, используя следующий код.
Это дает нам следующий список, хранящийся в переменной combinations :
Перебор словаря
Если вы используете словарь в качестве итератора (например, в операторе for ), он перемещает ключи в словаре. Например:
Работает таким же образом в генераторах:
Метод items() можно использовать для одновременного зацикливания ключа и значения:
Python dictionary multiple values
In this Python tutorial, we will study Python dictionary multiple values using some examples in python. Moreover, we will also cover these topics.
- Python dictionary multiple values for one key
- Python dictionary append multiple values
- Python dictionary multiple values for a key
- Python dictionary update multiple values
- Python dictionary with multiple values to dataframe
- Python dict remove multiple values
- Python list to dictionary multiple values
- Python sort list of dictionary by multiple values
Table of Contents
Python dictionary multiple values
- In this section, we will discuss how to create a dictionary with multiple values in Python dictionary.
- To perform this particular task ,we are going to use the dict.values() method. In Python, the dict.values() method returns all the values which are available in the dictionary and stores them into a list.
Syntax:
Let’s have a look at the syntax and understand the working of dict.values() function
Example:
Let’s take an example and check how to create a dictionary with multiple values.
In the above code, we have created a dictionary named ‘new_dictionary’ that contains elements in the form of key-value pairs. In this example, we have assigned multiple values with each key. After that, we have used the dict.values() method and it will extract only values from a given dictionary.
Here is the Screenshot of the following given code.

Python dictionary multiple values for one key
- In this Program, we will discuss how to get the multiple values for one key in Python dictionary.
- To do this task, we are going to select the specific key and it gives the value of that key.
- In this example, we will create a dictionary and then declare a variable ‘result’ in which we will assign the selected item from the dictionary.
Example:
Here is the implementation of the following given code.

As you can see in the Screenshot the output displays the multiple values of the ‘Japan’ key.
Python dictionary append multiple values
- Here we are going to discuss how to append multiple values in Python dictionary.
- By using the dictionary.update() function, we can easily append the multiple values in the existing dictionary.
- In Python, the dictionary.update() method will help the user to update the dictionary elements or if it is not present in the dictionary then it will insert the key-value pair.
Syntax:
Let’s have a look at the syntax and understand the working of the Python dictionary.update() function.
Example:
In the above code, we have appended a list of values to a key(Micheal) in the Python dictionary within the dict.update() function. Once you will execute this code the output displays the multiple values.
Here is the Output of the following given code.

Python dictionary multiple values for a key
- In this section, we will discuss how to get the multiple values for a specific key in Python dictionary.
- To do this task, we are going to use the set.default() function and it is used to set the default values to the dictionary key.
Example:
Here is the implementation of the following given code

Python dictionary update multiple values
- In this section, we will learn how to update the multiple values in Python dictionary.
- To perform this particular task, we are going to use the dictionary comprehension method this function is used to create a dictionary and it iterates the key-value pair.
- Within this dictionary comprehension method, we are going to use the assignment operator ‘+’ and this operand will help the user to add values in a given key.
Example:
In the above code, we have created a dictionary that contains elements in the form of key-value pairs. After that, to update the multiple values in the dictionary, we have assigned the ‘+2’ operator and this operand will update each value in the dictionary. Once you will execute this code the output displays the updated values in the dictionary.
Here is the execution of the following given code.

Python dictionary with multiple values to dataframe
- In this Program, we will learn how to convert a dictionary to Pandas Dataframe with multiple values in Python.
- To do this task first we will create a dictionary and assign key-value pair but multiple values will be stored in the list and it will consider as values.
- Next, to convert a dictionary into Pandas dataframe we are going to use the pd.DataFrame() syntax and within these parameters we are going to assign the dictionary ‘new_dict’ along with .T.
- In Python Pandas, the .T is used to shift columns and index in Dataframe and this ‘T’ indicates the Transpose. Next, we will use the df.reset.index() method and this method will re-order the index of the dataframe.
Syntax:
Here is the Syntax of df.reset.index() method.
Example:
Let’s take an example and check how to convert a dictionary to a dataframe with multiple values in a Python dictionary.
Source Code:
Here is the Screenshot of the following given code.

Python dict remove multiple values
- In this section, we will learn how to remove multiple values in a Python dictionary.
- To perform this particular task, we are going to use dictionary comprehension and dict.items() method for removing multiple values from a dictionary. This method will always return an object of the dictionary.
- In the dictionary comprehension method, we will set the condition new_val !=278 that indicates if the value is available in the dictionary then it will remove from the dictionary.
Example:
In the following given code, we have created a dictionary and then declared two-variable ‘rem_value’, ‘rem_value2’ and within this variable, we have used the dictionary comprehension method and it will remove multiple values from the dictionary.
Here is the implementation of the following given code.

Python list to dictionary multiple values
- In this Program, we will learn how to convert the list into the dictionary with multiple values in Python.
- To do this task, we are going to use the zip() and dict() functions. In Python the zip() function takes iterable objects as an argument like list and tuples and it always return an iterator of tuples based on the object.
- And then, to convert the object into a dictionary we are going to use the dict() function and this function is used to create a dictionary in Python.
Syntax:
Here is the Syntax of Python zip() function.
Example:
Let’s take an example and check how to convert the list into a dictionary with multiple values.
In the following given code, we have created two lists ‘list1’ and ‘list2’. In the list1 we have assigned the key elements as Country_name and list2 contains multiple values. Once you will execute this code the output displays the new dictionary that contains elements in the form of key-value pairs.
You can refer to the below Screenshot.

Python sort list of dictionary by multiple values
- In this section, we will learn how to sort a list of dictionaries by multiple values in Python.
- In this example, we will create a list of dictionaries and within this dictionary, there are the same key elements with different multiple values.
- Next, we have to sort the list of dictionaries by using the sorted() function and within this function we have specified the key element and according to the values of the key elements will be sorted in ascending order.
Example:
Here is the Screenshot of the following given code.

As you can see in the Screenshot the output displays the sorted list of dictionaries as per the condition.
Also, take a look at some more Python tutorials.
In this tutorial, we have learned Python dictionary multiple values using some examples in python. Moreover, we have also covered these topics.
- Python dictionary multiple values for one key
- Python dictionary append multiple values
- Python dictionary multiple values for a key
- Python dictionary update multiple values
- Python dictionary with multiple values to dataframe
- Python dict remove multiple values
- Python list to dictionary multiple values
- Python sort list of dictionary by multiple values

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.