'Adding key value pair to a dictionary list

I'm trying to add a third child to the below dictionary:

person = {'Name':'Jane', 'Age':32, 'Allergies':
         [{'Allergen':'Dust'}, 
          {'Allergen':'Feathers'}, 
          {'Allergen':'Strawberries'}],
         'Children':
         [{'Name':'Ben', 'Age': 6}, {'Name':'Elly', 'Age': 8}]}

print(person)

{'Name': 'Jane', 'Age': 32, 'Allergies': [{'Allergen': 'Dust'}, {'Allergen': 'Feathers'}, {'Allergen': 'Strawberries'}], 'Children': [{'Name': 'Ben', 'Age': 6}, {'Name': 'Elly', 'Age': 8}]}

When I try update person.update('Children': [{'Name':'Hanna', 'Age':0}]) it replaces all children with just that one? Nothing else works either... Any suggestions?



Solution 1:[1]

The person dictionary does not know that the Allergies and Children are lists, so you need to use the lists' methods to append things to that specific list.

person["Allergies"].append({"Allergen": "gluten"})
# or
person["Children"].append({"name":"Hannah", "age": 0})

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 wjandrea