簡體   English   中英

使用多個鍵和值創建字典

[英]create dictionary with multiple keys and values

我想創建一個包含多個鍵和值的字典。 在這一點上,我不確定我是否正確地提出了我的問題。 但這是我想要創建的一個例子:

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”的值。

 patDct = dict()                                                                                                                                                             
 for item in storedct :                                                                                                                                                         
     for pattern in datadct :                                                                                                                                                    
         if pattern in item :                                                                                                                                                     
             patDct['key1'] = datadct[pattern]["dpath"]                                                                                                        
             patDct['key2'] = datadct[pattern]["mask"]                                                                                                                                                                                                                                                
             patDct['key3'] = storedct[item]   

謝謝你的任何建議。

 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

離你的需求不遠......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM