创建包含多个键和值的字典

2024-10-04 01:28:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个包含多个键和值的字典。在这一点上,我不确定我的问题是否正确。但这里有一个我想创造的例子:

patDct = {
           'mkey1':{'key1':'val_a1', 'key2':'val_a2', 'key3':'val_a3'},
           'mkey2':{'key1':'val_b1', 'key2':'val_b2', 'key3':'val_b3'},
           ....
          }        

我有两本字典,我正在从中提取“mkey*”和“val*”的信息key*'是字符串。在

我有一段代码可以创建没有“mkey*”的字典,但它只打印出最后一组值。以下是我现在所拥有的。 “storedct”和“datadct”是两个给定的字典。 在这里,我希望“mkey*”得到“item”的值。在

^{2}$

谢谢你的建议。在


Tags: a2字典a1valb2a3例子b1
2条回答
 patDct = dict()    
 n=1                                                                                                                                                        
 for item in storedct :
     patDct["mkey%s"%n] = {}
     p =  patDct["mkey%s"%n]                                                                                                                                                            
     for pattern in datadct :                                                                                                                                                    
         if pattern in item :                                                                                                                                                     
             p['key1'] = datadct[pattern]["dpath"]                                                                                                        
             p['key2'] = datadct[pattern]["mask"]                                                                                                                                                                                                                                                
             p['key3'] = storedct[item] 
     n +=1

print patDct

根据我对你代码的理解,我想:

patDct = dict()
i = 0
for item in storedct :
    for pattern in datadct :
        if pattern in item :
            i = i + 1
            new_item = {}
            new_item['key1'] = datadct[pattern]["dpath"]
            new_item['key2'] = datadct[pattern]["mask"]
            new_item['key3'] = storedct[item]
            # I used a counter to generate the `mkey` values,
            # not sure you want it that way
            patDct['mkey{0}'.format(i)] = new_item

离你的需要不远。。。在

相关问题 更多 >