如何在python中创建嵌套字典
所以,我希望数据采用这种形式。

{Category_id: {Product_id:... productInstance},{prod_id_1: this instance}}


基本上,如果我做这样的事情
假设我要检查是否

product_id = 5 is in category 1.


所以如果我这样做

Dict[1].has_key(5)--> be true or false..


我的错误代码是

fin = readFile(db)
categoryDict = defaultdict(list)
itemDict ={}
for line in fin:
    itemInstance = setItemInstances(line)

    itemDict[itemInstance._product_id] = itemInstance
    categoryDict[itemInstance._category_id].append(itemDict)




EDIT: example
dict = {1: { p_id: p_instance_1,
           p_id_2: p_ins_2}
     2:{ p_in_this_cat_id: this isntance}}


谢谢

最佳答案

我认为这更接近您想要的:

fin = readFile(db)
categoryDict = defaultdict(dict)     # automatically create a subdict
for line in fin:
    itemDict = {}                    # a new innermost dict for every item
    itemInstance = setItemInstances(line)
    itemDict[itemInstance._product_id] = itemInstance
    categoryDict[itemInstance._category_id] = itemDict

09-25 17:44