0

I'm trying to create a dict from a list of dict's in python. I'm a bit stuck on how I would best do the item's which are lists. I've stubbed in the start of it...

import pprint

def getCategoryTree(lst):
    tree = {}
    for x in lst:
        if isinstance(x, basestring):
            if x not in tree.keys():
                tree[x] = {}
        elif isinstance(x, list):
            pass
    return tree


if __name__ == '__main__':
    data = [
        'TEST_FOOD',
        ['TEST_FOOD', 'TEST_CHICKEN', 'TEST_CHICKEN_FAJITAS', 'TEST_CHICKEN_TINGA'],
        ['TEST_FRUIT', 'TEST_APPLE'],
        ['TEST_FRUIT', 'TEST_APPLE', 'TEST_ORANGE'],
        'TEST_FRUIT',
        ['TEST_FOOD', 'TEST_SUISHI'],
    ]
    pprint.pprint(getCategoryTree(data))

Output goal..

{
  "TEST_FRUIT": {
    "TEST_APPLE": {},
    "TEST_ORANGE": {}
  },
  "TEST_FOOD": {
    "TEST_SUISHI": {},
    "TEST_CHICKEN": {
      "TEST_CHICKEN_FAJITAS": {},
      "TEST_CHICKEN_TINGA": {}
    }
  }
}
JokerMartini
  • 5,674
  • 9
  • 83
  • 193

0 Answers0