Python - acceso a valores anidados dentro de diccionarios
Tengo un diccionario que contiene diccionarios, que también puede contener diccionarios, por ejemplo,
dictionary = {'ID': 0001, 'Name': 'made up name', 'Transactions':
{'Transaction Ref': 'a1', 'Transaction Details':
{'Bill To': 'abc', 'Ship To': 'def', 'Product': 'Widget A'
...} ...} ... }
Actualmente estoy desempaquetando para obtener la 'Factura a' para la ID 001, 'Referencia de transacción' a1 de la siguiente manera:
if dictionary['ID'] == 001:
transactions = dictionary['Transactions']
if transactions['Transaction Ref'] == 'a1':
transaction_details = transactions['Transaction Details']
bill_to = transaction_details['Bill To']
No puedo dejar de pensar que esto es un poco torpe, especialmente en las dos últimas líneas. Siento que algo similar a lo siguiente debería funcionar:
bill_to = transactions['Transaction Details']['Bill To']
¿Existe un enfoque más sencillo para profundizar en diccionarios anidados sin tener que descomprimir en variables interinas?