Python中字典内字典的值查找

Python中字典内字典的值查找,python,dictionary,Python,Dictionary,我有一本Python字典,格式如下: mongo = { 1: {'syno': ['a','b','c'], 'can': ['2','3','4']}, 2 :{'syno': ['x','y','z'], 'can': ['6','7','8']}, } 我有一个名为《国际热核试验大纲》的清单: syno_iter = ['a','b','c','d','e'] 使用syno\u iter中的单个值,假设a。我想在mongo{}中获取can中的值,就像如果值a在值syn

我有一本Python字典,格式如下:

mongo = {
    1: {'syno': ['a','b','c'], 'can': ['2','3','4']},
    2 :{'syno': ['x','y','z'], 'can': ['6','7','8']},
}
我有一个名为《国际热核试验大纲》的清单:

syno_iter = ['a','b','c','d','e']
使用
syno\u iter
中的单个值,假设
a
。我想在
mongo{}
中获取
can
中的值,就像如果值
a
在值
syno
中可用一样,我们可以返回
can


我们没有任何方法知道mongo dict的键。同样,由于字典不适用,我们不能使用范围的东西

重申:

我想做这样的事情-

for i in syno_iter:
    if i in (mongo.values('syno')):
        print mongo.values('can'(values()))

您可以通过以下方式执行类似的查找:

代码: 测试代码: 结果:
不清楚你在说什么,你能用想要的输出编辑你的问题吗?“也因为字典不合适”不确定你是从哪里得到的。您始终可以为mongo中的键迭代字典
,或为mongo中的键、值迭代字典
output@FlyingTeller我现在就试试这个
input - 'a'
output - ['2','3','4']
def get_syno_values(data, lookup):
    for row in data.values():
        if lookup in row['syno']:
            return row['can']
mongo = {
    1: {'syno': ['a', 'b', 'c'], 'can': ['2', '3', '4']},
    2: {'syno': ['x', 'y', 'z'], 'can': ['6', '7', '8']}
}
syno_iter = ['a', 'b', 'c', 'd', 'e']

print(get_syno_values(mongo, 'a'))
print(get_syno_values(mongo, 'y'))
['2', '3', '4']
['6', '7', '8']