У меня есть список словарей l
, каждый из них представляет собой простой одноуровневый словарь с одинаковыми клавишами a
, b
, c
, d
.
Теперь я хочу построить вложенный словарь из l
в этой форме (i
является членом l
):
{
i['a']: {
i['b']: {
i['c']: {
i['d']: some_value,
}
}
}
}
Сейчас я использую этот фрагмент:
tmp = {}
for i in l:
if not i['a'] in tmp:
tmp[i['a']] = {}
if not i['b'] in tmp[i['a']]:
tmp[i['a']][i['b']] = {}
if not i['c'] in tmp[i['a']][i['b']]:
tmp[i['a']][i['b']][i['c']] = {}
tmp[i['a']][i['b']][i['c']][i['d']] = some_value
Это самый эффективный способ, если первоначальный список огромен?