Below data is grasped from webpage and containing entries as below(like a table with many rows):
entry1: key1: value1-1, key2: value2-1, key3: value3-1
entry2: key1: value1-2, key2: value2-2, key3: value3-2
entry3: key1: value3-1, key2: value2-3, key3: value3-3
......
entry100: key1: value100-1, key2: value100-2, key3: value100-3
how can I use a dictionary to store this data? the data is from a list thus the 'dictionary append' should be done within a loop...
here is my current solution:
case_list = {}
for entry in entries_list:
case = {'key1': value, 'key2': value, 'key3':value }
case_list.update(case)
but the case_list in the end only contains the last case entry... Can somebody please help me on this? I would expect the case_list containing 100 entries w/o any overwriting among entries, and I will need to store it to DB afterwards.
In your current code, what
Dictionary.update()
does is that it updates (update means the value is overwritten from the value for same key in passed in dictionary) the keys in current dictionary with the values from the dictionary passed in as the parameter to it (adding any new key:value pairs if existing) . A single flat dictionary does not satisfy your requirement , you either need a list of dictionaries or a dictionary with nested dictionaries.If you want a list of dictionaries (where each element in the list would be a diciotnary of a entry) then you can make
case_list
as a list and then appendcase
to it (instead of update) .Example -
Or you can also have a dictionary of dictionaries with the key of each element in the dictionary being
entry1
orentry2
, etc and the value being the corresponding dictionary for that entry.As per my understanding you want data in dictionary as shown below:
for this you can use list for each dictionary keys: