首页 > 解决方案 > 从列表列表创建字典

问题描述

我正在尝试从 python 中的字典列表创建一个字典。我有点坚持如何最好地完成列表中的项目。我一开始就被打断了...

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))

输出目标..

{
  "TEST_FRUIT": {
    "TEST_APPLE": {},
    "TEST_ORANGE": {}
  },
  "TEST_FOOD": {
    "TEST_SUISHI": {},
    "TEST_CHICKEN": {
      "TEST_CHICKEN_FAJITAS": {},
      "TEST_CHICKEN_TINGA": {}
    }
  }
}

标签: pythondictionary

解决方案


推荐阅读