嵌套字典python

Moh*_*hit 1 python dictionary nested

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

{Category_id: {Product_id:... productInstance},{prod_id_1: this instance}}
Run Code Online (Sandbox Code Playgroud)

基本上如果我做这样的事情让我说要检查是否

product_id = 5 is in category 1.
Run Code Online (Sandbox Code Playgroud)

所以,如果我这样做

Dict[1].has_key(5)--> be true or false..
Run Code Online (Sandbox Code Playgroud)

我的错误代码是

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}}
Run Code Online (Sandbox Code Playgroud)

谢谢

Ray*_*ger 7

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

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
Run Code Online (Sandbox Code Playgroud)