How to add element with the same key in dictionary?

Question:

I have this code:

import json

dictionary = {}
variable = 0

for i in range(5):
    variable += 1
    dictionary['number'] = variable

print(json.dumps(dictionary))
Output: {"number": 5}

I think my code just changing value in dictionary instead of creating new one.
I want the dictionary look like this:

{"number": 1, "number": 2, "number": 3, "number": 4, "number": 5}

i know that i can do this:

{"number": [1, 2, 3, 4, 5]}

but i want to do like i said before. I just want json with the same keys and different variables so if there is another option to achieve my goal, then tell me.

Asked By: IamJomm

||

Answers:

You can’t have multiple of the same key but you can have a list of multiple values for the one key:

import json

dictionary = {}
variable = 0
dictionary['number'] = []


for i in range(5):
    variable += 1
    dictionary['number'].append(variable)

print(json.dumps(dictionary))
Answered By: Yitzchak Blank

This isn’t possible with Python dictionaries. Python will always overwrite a key if you try to use it more than once.

You could try a list of single key-value dicts to get close:

[{"number": 1}, {"number": 2}, {"number": 3}, {"number": 4}, {"number": 5}]

Answered By: Joe Carboni
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.