On 2021-03-30, Loris Bennett <loris.benn...@fu-berlin.de> wrote: > If I have dict of dicts, say > > dod = { > "alice": > { > "lang": "python", > "level": "expert" > }, > "bob": > { > "lang": "perl", > "level": "noob" > } > } > > is there a canonical, or more pythonic, way of converting the outer key > to a value to get a list of dicts, e.g > > lod = [ > { > "name": "alice", > "lang": "python", > "level": "expert" > }, > { > "name": "bob", > "lang": "perl", > "level": "noob" > } > ] > > than just > > lod = [] > for name in dod: > d = dod[name] > d["name"] = name > lod.append(d) > > ?
There can't be a "canonical" way to perform the arbitrary data conversion you want, because it's arbitrary. Personally I would do this: [dict(data, name=name) for name, data in dod.items()] but it's of course arguable whether this is "more Pythonic" or indeed "better". -- https://mail.python.org/mailman/listinfo/python-list