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

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

1. Использование нотации нижнего индекса

Простое решение для добавления ключа в словарь Python — использование нотации нижнего индекса, например dict[key] = value. Это обновляет словарь, если ключ существует; в противном случае он вставляет пару ключ-значение в словарь.

1

2

3

4

5

6

7

8

if __name__ == ‘__main__’:

 

    dictionary = {‘A’: 1, ‘B’: 2, ‘C’: 3}

    key, value = ‘D’, 4

 

    dictionary[key] = value

    print(dictionary)        # {‘A’: 1, ‘B’: 2, ‘C’: 3, ‘D’: 4}

 

Скачать  Выполнить код

2. Использование

update функция

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

1

2

3

4

5

6

7

8

if __name__ == ‘__main__’:

 

    dictionary = {‘A’: 1, ‘B’: 2, ‘C’: 3}

    key, value = ‘D’, 4

 

    dictionary.update({key: value})

    print(dictionary)        # {‘A’: 1, ‘B’: 2, ‘C’: 3, ‘D’: 4}

 

Скачать  Выполнить код

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

1

2

3

4

5

6

7

8

if __name__ == ‘__main__’:

 

    dictionary = {‘A’: 1, ‘B’: 2, ‘C’: 3}

    pair = {‘D’: 4, ‘E’: 5}

 

    dictionary. update(pair)

    print(dictionary)        # {‘A’: 1, ‘B’: 2, ‘C’: 3, ‘D’: 4, ‘E’: 5}

 

Скачать  Выполнить код

3. Использование

setdefault() функция

Другой вариант — использовать встроенную функцию setdefault(), который вставляет пару ключ-значение в словарь, если ключ не найден.

1

2

3

4

5

6

7

8

if __name__ == ‘__main__’:

 

    dictionary = {‘A’: 1, ‘B’: 2, ‘C’: 3}

    key, value = ‘D’, 4

 

    dictionary.setdefault(key, value)

    print(dictionary)        # {‘A’: 1, ‘B’: 2, ‘C’: 3, ‘D’: 4}

 

Скачать  Выполнить код

4. Использование оператора распаковки словаря

Начиная с Python 3.5, вы можете использовать оператор распаковки словаря (**), предложенный в ПКП 448. Вы можете использовать его с пониманием словаря, чтобы распаковать словарь, например

d = {**x, **y}. Обратите внимание, что это создает новый словарь.

1

2

3

4

5

6

7

8

if __name__ == ‘__main__’:

 

    first = {‘A’: 1, ‘B’: 2, ‘C’: 3}

    second = {‘D’: 4}

 

    dictionary = {**first, **second}

    print(dictionary)            # {‘A’: 1, ‘B’: 2, ‘C’: 3, ‘D’: 4}

 

Скачать  Выполнить код

Это все о добавлении ключа в словарь Python.

Оценить этот пост

Средний рейтинг 5/5. Подсчет голосов: 8

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?


Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂


python — Как добавить ключ-значение в словарь?

Вопрос задан

2 года 1 месяц назад

Изменён 2 года 1 месяц назад

Просмотрен 201 раз

Есть двумерный список user_list:

user_list = [[{'first_name': 'Svetochek',
   'id': 19,
   'last_name': 'Alenky',
   'city': {'id': 2, 'title': 'Saint Petersburg'}},
  {'first_name': 'Tatyana',
   'id': 34,
   'last_name': 'Plutalova',
   'city': {'id': 2, 'title': 'Saint Petersburg'}}]]

Нужно получить значения городов (['city']['title']) Добавить их в словарь. При этом нужно рассчитать количество городов. Словарь должен иметь вид:

{
    'Moscow': '2',
    'Saint Petersburg: '3',
}

Итерируюсь так:

city_dict = {}
for row in user_lists:
    for a in row:
        if a['city']['title'] not in city_count():
            city1 = a['city']['title']
            city_dict = . ..

При city_count[city1] = 1 получаю ошибку:

if a['city']['title'] not in city_count():
TypeError: 'dict' object is not callable     

Если так:

for list in user_lists1:
    for row in list:
        city = row['city']['title']
        city_count[city] = city_count.get(city, 0) + 1

то Получаю ошибку: Traceback (most recent call last): line 40, in city = row[‘city’][‘title’] KeyError: ‘city’

  • python
  • python-3.x
  • list
  • список
  • словари

4

Можно так, через dict.get():

result = dict()
for each in user_list:
    city = each['city']['title']
    result[city] = result.get(city, 0) + 1
print(result)

Для тестового:

user_list = [
  {'first_name': 'Svetochek',
   'id': 19,
   'last_name': 'Alenky',
   'city': {'id': 2, 'title': 'Saint Petersburg'}},
  {'first_name': 'Tatyana',
   'id': 34,
   'last_name': 'Plutalova',
   'city': {'id': 2, 'title': 'Saint Petersburg'}},
  {'first_name': 'Pupsik',
   'id': 13,
   'last_name': 'Figleva',
   'city': {'id': 1, 'title': 'New York'}},]

выведет:

{'Saint Petersburg': 2, 'New York': 1}

UPD если среди словарей могут встретиться такие, что не содержат записей с ключем city, стОит добавить проверку each. get('city'):

result = dict()
for each in user_list:
    if each.get('city'):
        city = each['city']['title']
        result[city] = result.get(city, 0) + 1
print(result)

4

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

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

Введение

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

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

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

 закусок['шоколад'] = 5
 

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

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

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

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

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

 мой_словарь[новый_ключ] = новое_значение
 

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

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

 квадратов = {1:1, 2:4, 3:9}
квадраты[4] = 16 # Добавление новой пары ключ-значение
печать (квадраты)
 

В результате получится:

 {1:1, 2:4, 3:9, 4:16}
 
Добавить ключ в словарь без значения

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

 квадратов = {1: 1, 2: 4, 3: 9}
Squares['x'] = None # Добавление нового ключа без значения
печать (квадраты)
 

Результат:

 {1:1, 2:4, 3:9, 'x': Нет}
 
Добавить несколько пар ключ-значение с помощью
update()

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

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

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

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

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

 Rainbow = {'red': 1}
# Обновить, передав словарь
new_key_values_dict = {'оранжевый': 2, 'желтый': 3}
радуга.обновление (new_key_values_dict)
print("обновить, передав словарь")
печать (радуга)
# Обновление путем передачи итераций
new_key_values_itr = (('зеленый',4), ('синий',5))
радуга.обновление (new_key_values_itr)
print("обновить, передав итерации")
печать (радуга)
# Обновление с использованием аргументов ключевого слова
Rainbow.update (индиго = 6, фиолетовый = 7)
print("обновить, используя аргументы ключевого слова")
печать (радуга)
 

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

 обновление путем передачи словаря
{'красный': 1, 'оранжевый': 2, 'желтый': 3}
обновить, передав итерации
{'красный': 1, 'оранжевый': 2, 'желтый': 3, 'зеленый': 4, 'синий': 5}
обновить с использованием аргументов ключевого слова
{'красный': 1, 'оранжевый': 2, 'желтый': 3, 'зеленый': 4, 'синий': 5, 'индиго': 6, 'фиолетовый': 7}
 
Использование оператора слияния (Python 3.
9+)

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

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

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

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

 colors_set1 = {'red': 1, 'orange': 2, 'yellow' : 3}
colors_set2 = {'зеленый': 4, 'синий': 5, 'индиго': 6, 'фиолетовый': 7}
# Оператор слияния
радуга = colors_set1 | colors_set2
print("используя слияние:", радуга)
# Оператор обновления
colors_set1 |= colors_set2
print("используя обновление:", colors_set1)
 

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

 с использованием слияния: {'красный': 1, 'оранжевый': 2, 'желтый': 3, 'зеленый': 4, 'синий': 5, 'индиго': 6, 'фиолетовый' : 7}
используя обновление: {'красный': 1, 'оранжевый': 2, 'желтый': 3, 'зеленый': 4, 'синий': 5, 'индиго': 6, 'фиолетовый': 7}
 

Заключение

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

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

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

Введение

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

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

 закусок['шоколад'] = 5
 

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

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

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

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

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

 my_dictionary[new_key] = new_value
 

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

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

 квадратов = {1:1, 2:4, 3:9}
квадраты[4] = 16 # Добавление новой пары ключ-значение
печать (квадраты)
 

В результате получится:

 {1:1, 2:4, 3:9, 4:16}
 
Добавить ключ в словарь без значения

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

 квадратов = {1:1, 2:4, 3:9}
Squares['x'] = None # Добавление нового ключа без значения
печать (квадраты)
 

Результат:

 {1:1, 2:4, 3:9, 'x': Нет}
 
Добавить несколько пар ключ-значение с помощью
update()

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

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

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

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

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

 Rainbow = {'red': 1}
# Обновить, передав словарь
new_key_values_dict = {'оранжевый': 2, 'желтый': 3}
радуга.обновление (new_key_values_dict)
print("обновить, передав словарь")
печать (радуга)
# Обновление путем передачи итераций
new_key_values_itr = (('зеленый',4), ('синий',5))
радуга.обновление (new_key_values_itr)
print("обновить, передав итерации")
печать (радуга)
# Обновление с использованием аргументов ключевого слова
Rainbow.update (индиго = 6, фиолетовый = 7)
print("обновить, используя аргументы ключевого слова")
печать (радуга)
 

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

 обновление путем передачи словаря
{'красный': 1, 'оранжевый': 2, 'желтый': 3}
обновить, передав итерации
{'красный': 1, 'оранжевый': 2, 'желтый': 3, 'зеленый': 4, 'синий': 5}
обновить с использованием аргументов ключевого слова
{'красный': 1, 'оранжевый': 2, 'желтый': 3, 'зеленый': 4, 'синий': 5, 'индиго': 6, 'фиолетовый': 7}
 
Использование оператора слияния (Python 3.
9+)

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

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

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

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

 colors_set1 = {'red': 1, 'orange': 2, 'yellow' : 3}
colors_set2 = {'зеленый': 4, 'синий': 5, 'индиго': 6, 'фиолетовый': 7}
# Оператор слияния
радуга = colors_set1 | colors_set2
print("используя слияние:", радуга)
# Оператор обновления
colors_set1 |= colors_set2
print("используя обновление:", colors_set1)
 

Этот код создаст следующий вывод на Python (3.