簡體   English   中英

在Python中的字典中查找字典的值

[英]Value look-up for Dictionary inside a dictionary in Python

我有以下格式的Python字典:

mongo = {
    1: {'syno': ['a','b','c'], 'can': ['2','3','4']},
    2 :{'syno': ['x','y','z'], 'can': ['6','7','8']},
}

我有一個名為syno_iter的列表:

syno_iter = ['a','b','c','d','e']

syno_iter使用單個值,讓我們假設a 我想要得到的值canmongo{}中如果值a是值的值可用syno ,我們可以返回can

我們沒有任何辦法知道mongo dict的鍵。 另外,由於字典是不可迭代的,因此我們不能使用范圍事物。

重申:

我想做這樣的事情-

for i in syno_iter:
    if i in (mongo.values('syno')):
        print mongo.values('can'(values()))
 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']

暫無
暫無

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

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