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?