On Tue, Mar 30, 2021 at 11:01 PM Jon Ribbens via Python-list <python-list@python.org> wrote: > > On 2021-03-30, Chris Angelico <ros...@gmail.com> wrote: > > I dunno about "canonical", but here's how I'd do it: > > > > lod = [info | {"name": name} for name, info in dod.items()] > > > > You could use {"name":name}|info instead if you prefer to have the > > name show up first in the dictionary. > > It's probably worth noting this method requires Python 3.9.
True, and if you need 3.8 support, then the dict constructor with one kwarg is the way to do it. But this way has the flexibility that you can choose which way to resolve conflicts (if there's a name inside the info dict, should it override the key, or not?). ChrisA -- https://mail.python.org/mailman/listinfo/python-list