Общий способ создания вложенного словаря из плоского списка в python

Ищу самый простой общий способ преобразовать этот список python:

x = [
        {"foo":"A", "bar":"R", "baz":"X"},
        {"foo":"A", "bar":"R", "baz":"Y"},
        {"foo":"B", "bar":"S", "baz":"X"},
        {"foo":"A", "bar":"S", "baz":"Y"},
        {"foo":"C", "bar":"R", "baz":"Y"},
    ]

в:

foos = [ 
         {"foo":"A", "bars":[
                               {"bar":"R", "bazs":[ {"baz":"X"},{"baz":"Y"} ] },
                               {"bar":"S", "bazs":[ {"baz":"Y"} ] },
                            ]
         },
         {"foo":"B", "bars":[
                               {"bar":"S", "bazs":[ {"baz":"X"} ] },
                            ]
         },
         {"foo":"C", "bars":[
                               {"bar":"R", "bazs":[ {"baz":"Y"} ] },
                            ]
         },
      ]

Комбинация «foo», «bar», «baz» уникальна, и, как вы можете видеть, список не обязательно упорядочен по этому ключу.

7
задан Pratik 3 January 2012 в 12:00
поделиться