Python - acessando valores aninhados em dicionários

Eu tenho um dicionário que contém dicionários, que também podem conter dicionários, por exemplo.

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

Atualmente estou descompactando para obter o 'Bill To' para ID 001, 'Refaction Transaction' a1 da seguinte forma:

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

Eu não posso ajudar, mas acho que isso é um pouco desajeitado, especialmente as duas últimas linhas - eu sinto que algo ao longo das linhas do seguinte deve funcionar:

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

Existe uma abordagem mais simples para pesquisar dicionários aninhados sem precisar descompactar em variáveis ​​temporárias?

questionAnswers(3)

yourAnswerToTheQuestion