python: tuple of dictionary to Dictionary

后端 未结 6 1923
一个人的身影
一个人的身影 2021-01-20 19:02

How can I convert tuple of dictionaries like example present below:

({(1, 2): 3},
 {(1, 3): 5},
 {(1, 4): 5},
 {(2, 4): 5},
 {(1, 5): 10},
 {(2, 6): 9},
 {(1         


        
6条回答
  •  半阙折子戏
    2021-01-20 20:01

    You can't use a dict merge comprehension (yet), but you can go via a chain map:

    >>> from collections import ChainMap
    >>> dict(ChainMap(*dicts))
    {(1, 1): 2,
     (1, 2): 3,
     (1, 3): 5,
     (1, 4): 5,
     (1, 5): 10,
     (1, 6): 9,
     (2, 1): 2,
     (2, 2): 3,
     (2, 3): 5,
     (2, 4): 5,
     (2, 5): 10,
     (2, 6): 9}
    

    Note: collections.ChainMap is new in Python 3.3.

    It's actually a subclass of collections.Mapping, so depending on the use-case you might not even need to convert back to a plain dict.

提交回复
热议问题