Converting list of tuples into a dictionary

后端 未结 7 1169
温柔的废话
温柔的废话 2020-11-27 05:52

I\'m looking for a way to convert a list of tuples like this:

[(1,4),(2,4),(3,4),(4,15),(5,15),(6,23),(7,23),(8,23),(9,15),(10,23),(11,15),(12,15)]
         


        
7条回答
  •  北荒
    北荒 (楼主)
    2020-11-27 05:58

    >>> from collections import defaultdict
    >>> l= [(1,4),(2,4),(3,4),(4,15),(5,15),(6,23),(7,23),(8,23),(9,15),(10,23),(11,15),(12,15)]
    >>> d= defaultdict( list )
    >>> for v, k in l:
    ...     d[k].append(v)
    ... 
    >>> d
    defaultdict(, {23: [6, 7, 8, 10], 4: [1, 2, 3], 15: [4, 5, 9, 11, 12]})
    >>> [ {k:d[k]} for k in sorted(d) ]
    [{4: [1, 2, 3]}, {15: [4, 5, 9, 11, 12]}, {23: [6, 7, 8, 10]}]
    

提交回复
热议问题