===== convert dict of dicts to list of dicts ===== ==== task ==== Convert dod = { "alice": { "lang": "python", "level": "expert" }, "bob": { "lang": "perl", "level": "noob" } } to lod = [ { "name": "alice", "lang": "python", "level": "expert" }, { "name": "bob", "lang": "perl", "level": "noob" } ] ==== solution ==== lod = [dict(value, name=key) for key, value in dod.items()] Example: $ ipython In [1]: dod = { "alice": { "lang": "python", "level": "expert" }, "bob": { "lang": "perl", "level": "noob" } } In [2]: dod Out[2]: {'alice': {'lang': 'python', 'level': 'expert'}, 'bob': {'lang': 'perl', 'level': 'noob'}} In [3]: lod = [dict(value, name=key) for key, value in dod.items()] In [4]: lod Out[4]: [{'lang': 'python', 'level': 'expert', 'name': 'alice'}, {'lang': 'perl', 'level': 'noob', 'name': 'bob'}] System information: python 3.9.4 and ipython 7.22.0 ==== Ref ==== * https://mail.python.org/pipermail/python-list/2021-March/901629.html - thread where I first came across this problem. It provides many alternative solutions besides the one above.