Доступ к значениям, вложенным в словари

У меня есть словарь, который содержит словари, которые также могут содержать словари, например.

dictionary = {'ID': 0001, 'Name': 'made up name', 'Transactions':
               {'Transaction Ref': 'a1', 'Transaction Details':
                  {'Bill To': 'abc', 'Ship To': 'def', 'Product': 'Widget A'
                     ...}...}... }

В настоящее время я распаковываю, чтобы получить «Bill To» для ID 001, «Transaction Ref» a1 следующим образом:

if dictionary['ID'] == 001:
    transactions = dictionary['Transactions']
        if transactions['Transaction Ref'] == 'a1':
            transaction_details = transactions['Transaction Details']
            bill_to = transaction_details['Bill To']

Я не могу не думать, что это немного неуклюже, особенно последние две строки -Я чувствую, что что-то вроде следующего должно работать:

bill_to = transactions['Transaction Details']['Bill To']

Есть ли более простой подход для детализации вложенных словарей без необходимости распаковки в промежуточные переменные?

9
задан wjandrea 6 August 2019 в 02:01
поделиться