Начиная с вложенного словаря, например:
my_dict = {"North America" : { "USA" : { "Virginia" : ["Norfolk","Richmond","Charlottesville"], "New York": ["Albany"]}, "Canada" : {"Saskatchewan": ["Saskatoon"], "New Brunswick":["Moncton","Saint John"]}}}
print(my_dict)
North America
USA
Virginia
['Norfolk', 'Richmond', 'Charlottesville']
New York
['Albany']
Canada
Saskatchewan
['Saskatoon']
New Brunswick
['Moncton', 'Saint John']
Как мне взять список строк типа [key1, key2]
и программно вернуть вложенный объект my_dict[key1][key2]
, когда я не знаю, сколько ключей будет? Примеры:
keys = ['North America', 'USA']
print(my_dict.???)
Virginia
['Norfolk', 'Richmond', 'Charlottesville']
New York
['Albany']
keys = ['North America', 'Canada', 'Saskatchewan']
print(my_dict.???)
['Saskatoon']
keys = ['North America', 'Canada']
print(my_dict.???)
Saskatchewan
['Saskatoon']
New Brunswick
['Moncton', 'Saint John']
Предположим, что "путь" к ключам существует, но не предполагайте ничего о глубине структуры.