有没有更好的方法来查询字典中的值与键是另一个字典中的值?

时间:2017-10-17 05:34:54

标签: python dictionary

我有多个词典。

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')))

它看起来太长而且难以理解。 是否有一种简单明了的方式来与多个词组建立关系?

1 个答案:

答案 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