Вступление
Словарь в 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()
оказался наиболее популярным способом добавления новых ключей
в существующий словарь.