如何在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