提取特定路徑I具有矩陣:從多級詞典
matrix = {
'A' : {
'A1' : {
'A11' : [1,2,3],
'A12' : [4,5,6],
},
'A2' : {
'A21' : [11,12,14],
'A22' : [14,15,16],
},
'A3' : {
'A31' : [111,112,114],
'A32' : [114,115,116],
},
}
}
,我想檢索動態查詢的特定路徑 - 例如matrix['A']['A2']['A22']
或matrix['A']['A2']
。
簡而言之,我有一個多級字典和映射到該字典中層次結構的字符串列表。如['A','A1','A2']
我不確定這樣做的最pythonic方式。
以下的作品。我只是想知道是否有一個更簡潔或可讀的方式。我喜歡另一組眼睛提供輸入並糾正一個明顯的錯誤。
get_target_path(pth , mtx):
try:
value = mtx
for level in pth :
value = value[level]
return value
except KeyError :
return None
target_path = ['A','A2','A22']
result = get_target_path(target_path , matrix)
我沒有看到你已經發布的內容有什麼問題。你可以創建一個封裝字典的類,並在內部完成,以便可以調用matrix [mystring],但不確定它是否需要。 –