Python: как добавить ключи в словарь

Введение Словарь в Python - это набор элементов, в которых данные хранятся в виде пар ключ-значение. Мы можем получить доступ к элементам словаря и управлять ими на основе их ключа. Словари изменяемы и позволяют добавлять в них новые элементы. Самый быстрый способ добавить отдельный элемент в словарь - использовать ссылку на индекс словаря с новым ключом и присвоить значение. Например, мы добавляем новую пару "ключ-значение", например: snacks ['chocolate'] = 5 Python позволяет добавлять несколько элементов в словари как w

Вступление

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

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

 snacks['chocolate'] = 5 

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

Добавить ключ в словарь Python

Есть несколько способов добавить новую пару "ключ-значение" в существующий словарь. Давайте рассмотрим несколько распространенных способов сделать это.

Добавить ключ со значением

Мы можем добавить новый ключ в словарь, присвоив ему значение. Если ключ уже присутствует, он перезаписывает значение, на которое указывает. Ключ должен быть записан в индексной нотации к словарю следующим образом:

 my_dictionary[new_key] = new_value 

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

Давайте сделаем словарь, а затем добавим новую пару ключ-значение с помощью этого подхода:

 squares = {1: 1, 2: 4, 3: 9} 
 squares[4] = 16 # Adding new key-value pair 
 print(squares) 

Это приведет к:

 {1: 1, 2: 4, 3: 9, 4: 16} 

Добавить ключ в словарь без значения

Если вы просто хотите добавить ключ без значения, вы можете просто поставить None вместо значения с помощью любого из методов, описанных в этой статье:

 squares = {1: 1, 2: 4, 3: 9} 
 squares['x'] = None # Adding new key without value 
 print(squares) 

Это приводит к:

 {1: 1, 2: 4, 3: 9, 'x': None} 

Добавить несколько пар ключ-значение с помощью update ()

В Python мы можем добавить несколько пар ключ-значение к существующему словарю. Это достигается с помощью метода update() Этот метод принимает аргумент типа dict или любую итерацию, имеющую длину два, например ((key1, value1),) , и обновляет словарь новыми парами ключ-значение.

Если ключ уже присутствует в словаре, он перезаписывается новым значением.

Ключи также могут быть переданы этому методу в качестве аргументов ключевого слова с соответствующими значениями, например dictionary.update(new_key=new_value) .

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

Давайте воспользуемся update() чтобы добавить в словарь несколько пар ключ-значение:

 rainbow = {'red': 1} 
 
 # Update by passing dictionary 
 new_key_values_dict = {'orange': 2, 'yellow': 3} 
 rainbow.update(new_key_values_dict) 
 print("update by passing dictionary") 
 print(rainbow) 
 
 # Update by passing iterables 
 new_key_values_itr = (('green',4), ('blue',5)) 
 rainbow.update(new_key_values_itr) 
 print("update by passing iterables") 
 print(rainbow) 
 
 # Update using keyword arguments 
 rainbow.update(indigo=6, violet=7) 
 print("update using keyword arguments") 
 print(rainbow) 

Запуск этого кода приведет к следующему результату:

 update by passing dictionary 
 {'red': 1, 'orange': 2, 'yellow': 3} 
 update by passing iterables 
 {'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5} 
 update using keyword arguments 
 {'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7} 

Использование оператора слияния (Python 3.9+)

Начиная с версии Python 3.9, во встроенный класс dict были добавлены операторы | ) и обновления ( |=

Это очень удобные методы для добавления в словарь нескольких пар ключ-значение. Оператор слияния ( | ) создает новый словарь с ключами и значениями обоих указанных словарей. Затем мы можем присвоить этот результат новому словарю.

В то время как |= ) добавляет пары ключ-значение из второго словаря в первый словарь. Таким образом, существующий словарь обновляется несколькими парами ключ-значение из другого словаря.

Вот пример использования | ) и Update ( |= ) для добавления новых ключей в словарь:

 colors_set1 = {‘red’: 1, 'orange’: 2, 'yellow': 3} 
 colors_set2 = {'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7} 
 
 # Merge operator 
 rainbow = colors_set1 | colors_set2 
 print("using merge:", rainbow) 
 
 # Update operator 
 colors_set1 |= colors_set2 
 print("using update:", colors_set1) 

Этот код создаст следующий вывод в интерпретаторе Python (3.9+):

 using merge: {'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7} 
 using update: {'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7} 

Заключение

В этом уроке мы узнали, как добавить новый ключ в словарь. Сначала мы добавили пару «ключ-значение», используя индексную нотацию - мы добавили ключ в словарь, присвоив ему значение. Затем мы рассмотрели метод update() для добавления в словарь нескольких пар ключ-значение. Мы также использовали метод update() с параметрами типа словаря, кортежа и аргументов ключевого слова. Наконец, мы исследовали операторы слияния и обновления, доступные начиная с версии Python 3.9.

update() оказался наиболее популярным способом добавления новых ключей в существующий словарь.

comments powered by Disqus