[英]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
。 我想要得到的值can
在mongo{}
中如果值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.