Python 从列表列表创建dict
我正试图从python中的dict列表中创建一个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
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(水果、价格))
印刷品(水果词典)
我希望,我曾帮助过您列表嵌套的级别永远不会超过一级吗?树的列表形式似乎没有足够的信息。这是个奇怪的位置问题?列表中的第一个是父节点,第二个是子节点?正确,您是对的