2017-10-17 37 views
2

我有多個字典。有沒有更好的方法來查詢字典中的值與另一個字典中的值的關鍵?

package_sender_map = {'package_1': 'vici'} 
sender_level_map = {'vici': 'level_3', 'Jone': 'level_1'} 
level_ability_map = {'level_1': '30', 'level_2': '50', 'level_3': '100'} 

現在我想要一個包的發件人的能力。我發現的唯一方法是:

level_ability_map.get(sender_level_map.get(package_sender_map.get('package_1'))) 

它看起來太長,很難理解。 有沒有一種簡單而明確的方法來與多個字典建立關係?

+0

不知道你問這裏。您是否擔心由於不存在的密鑰而導致的錯誤? –

+0

我已更新我的問題。對於我可怕的描述感到抱歉。 –

+0

以下任何答案是否解決您的問題?你可以接受最有幫助的。 –

回答

2

你可以把你的字符串放入一個列表(或元組)中,然後在堆棧上循環。就像這樣:

package_sender_map = {'package_1': 'vici'} 
sender_level_map = {'vici': 'level_3', 'Jone': 'level_1'} 
level_ability_map = {'level_1': '30', 'level_2': '50', 'level_3': '100'} 

dict_stack = [package_sender_map, sender_level_map, level_ability_map] 
v = 'package_1' 
for d in dict_stack: 
    v = d[v] 
print(v) 

輸出

100 
相關問題