Python 从列表列表创建dict

Python 从列表列表创建dict,python,dictionary,Python,Dictionary,我正试图从python中的dict列表中创建一个dict。我有点纠结于如何最好地完成项目的列表。一开始我就被打断了 import pprint def getCategoryTree(lst): tree = {} for x in lst: if isinstance(x, basestring): if x not in tree.keys(): tree[x] = {} elif is

我正试图从python中的dict列表中创建一个dict。我有点纠结于如何最好地完成项目的列表。一开始我就被打断了

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": {}
    }
  }
}

使用一个列表作为字典的键,另一个列表作为值。为此,我们可以使用
zip()
函数

例: 水果=[“苹果”、“梨”、“桃”、“香蕉”] 价格=[0.35,0.40,0.40,0.28]

水果字典=dict(zip(水果、价格))

印刷品(水果词典)


我希望,我曾帮助过您

列表嵌套的级别永远不会超过一级吗?树的列表形式似乎没有足够的信息。这是个奇怪的位置问题?列表中的第一个是父节点,第二个是子节点?正确,您是对的