[英]Get key from dictionary by values and keys from nested dictionary in Python
我有這種結構的嵌套字典:
d = {
"A":{
"Param1":"7",
"Param2":"5",
},
"B":{
"Param1":"1",
"Param2":"2",
},
"C":{
"Param1":"X",
"Param2":"Y",
},
"D":{
"SomeOtherParam1": "a",
"SomeOtherParam2": "3",
}
}
如何通過嵌套鍵名和參數獲取字典鍵? 例如:Param1=1 和 Param2=2 output 應該是 B。甚至可以這樣做嗎?
更新
感謝@deceze,這正是我想要實現的目標:
pexist = next((k for k, v in d.items() if v.get('Param1') and v.get('Param2') if v['Param1'] == '1' and v['Param2'] == '2'), None)
if pexist == None:
print("Does not exist!")
else:
print(pexist)
基於 pandas 模塊的解決方案:
import pandas as pd
df = pd.DataFrame({'A': {'Param1': '7', 'Param2': '5'}, 'B': {'Param1': '1', 'Param2': '2'}, 'C': {'Param1': 'X', 'Param2': 'Y'}})
s = (df.loc['Param1'] == '1') & (df.loc['Param2'] == '2')
print(*s[s].keys())
Output:
B
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.