2017-10-13 157 views
-1

我有非常簡單的2階段字典的問題。 我的字典中有鍵(數字),第二鍵(數字)和姓名公司的值。 我需要檢查只有密鑰沒有1,因爲我知道只有可能性,「福特」名稱出現 - 字典[我] [1] 而且正如你所看到的 - 字符串與密鑰不等於100%。鑰匙可以包含「福特」(但鑰匙的另一部分名稱:「福特汽車」),所以如果「福特」出現在每個詞典[i] [1]中 - 將該鍵分配給空字典「MATCHINGITEMS」比較嵌套字典中的值

matchingitems[1] = "Ford" 
matchingitems[2] = "Ford" etc 

你能幫幫我嗎?

Dictionary = { „1」 : { „1」 : "Ford Motor", 
        „2」 : "Volkswagen Autos" 
         } 
       "2" : { "1" : "Ducati", 
         "2" : "Yamaha" 
         } 
       "3" : { "1" : "Ford", 
         "2" : "SEAT" 
        } 
       } 
matchingitems = {} 
i = 0 
for value in Dictionary.items(): 
    for key in Dictionary.items[value]: 
     i += 1 
     if "Ford" in Dictionary[i][1]: 
      matchingitems[i] = "Ford" 

回答

2

如果我理解你正確地這樣做,你需要什麼:

Dictionary = { "1" : { "1" : "Ford Motor", 
        "2" : "Volkswagen Autos" 
         }, 
       "2" : { "1" : "Ducati", 
         "2" : "Yamaha" 
         }, 
       "3" : { "1" : "Ford", 
         "2" : "SEAT" 
        } 
       } 
matchingitems = {} 

for key,value in Dictionary.items(): 
    if 'Ford' in value['1']: 
     matchingitems[key] = value['1'] 

print(matchingitems) 
+0

不會'i'是隨機的字典是(大概)不是一個有序字典,因此從枚舉指數可能會改變? –

+0

是的,你是對的。我已經相應地更改了代碼。這也不是OP想要的。 – elzell

+0

此外,鍵可能增加超過1,我認爲你需要'matchingitems.append(值['1'])' –