Автор оригинала: Naazneen Jatu.
Вступление
Словарь в 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}
Добавление нескольких пар Ключ-значение с обновлением()
В 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, операторы Merge ( ) и Update (
| =
) были добавлены во встроенный класс dictionary
.
Это очень удобные методы для добавления нескольких пар ключ-значение в словарь. Оператор Merge ( |
) создает новый словарь с ключами и значениями обоих заданных словарей. Затем мы можем присвоить этот результат новому словарю.
В то время как оператор Update( |=
) добавляет пары ключ-значение второго словаря в первый словарь. Таким образом, существующий словарь обновляется несколькими парами ключ-значение из другого словаря.
Вот пример использования операторов Merge ( ) и 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()
словаря оказывается самым популярным способом добавления новых ключей в существующий словарь.