I have a requirement in which I need create dictionary objects with duplicate keys embedded into a list object, something like this:
[{ "key": "ABC" },{ "key": "EFG" } ]
I decided to have a top level list initialized to empty like outer_list=[]
and a placeholder dictionary object like dict_obj= {}
. Next I keep adding elements to my list using the following steps:
- assign
{ "key": "ABC" }
to dict_obj usingdict_obj["key"]="ABC"
- Add this object to the list using
outer_list.append(dict_obj)
- Flush/pop the key/items in dictionary object using
dict_obj.clear()
- Repeat steps 1 to 3 based on the number of key/item combinations in my data
Issue: the outer_list
object maintains a reference to the original dict_obj
and if the dict_obj
is flushed or a new key/item is added it changes accordingly. So finally, I end up with this [{ "key": "EFG" },{ "key": "EFG" } ]
instead of [{ "key": "ABC" },{ "key": "EFG" } ]
Please guide me with some workarounds if possible.