To build a multiple-level dictionary within a for loop without using the defaultdict function, you can follow the below steps:
Create an empty dictionary.
Loop through the data and split it into different levels using keys.
Check if the first key exists in the dictionary, if not then create a new dictionary for it.
Check if the second key exists in the first level dictionary, if not then create a new dictionary for it.
Repeat the process for all the levels of the dictionary.
Finally, add the value to the last level.
Here is an example code:
data = [('a', 'b', 'c', 'value1'), ('d', 'e', 'f', 'value2')]
result_dict = {}
for item in data:
level1, level2, level3, value = item[0], item[1], item[2], item[3]
if level1 not in result_dict:
result_dict[level1] = {}
if level2 not in result_dict[level1]:
result_dict[level1][level2] = {}
if level3 not in result_dict[level1][level2]:
result_dict[level1][level2][level3] = value
print(result_dict)
Output:
{
'a': {
'b': {
'c': 'value1'
}
},
'd': {
'e': {
'f': 'value2'
}
}
}
Asked: 2023-06-24 05:21:52 +0000
Seen: 12 times
Last updated: Jun 24 '23