Python - dostęp do wartości zagnieżdżonych w słownikach
Mam słownik zawierający słowniki, które mogą również zawierać słowniki, np.
dictionary = {'ID': 0001, 'Name': 'made up name', 'Transactions':
{'Transaction Ref': 'a1', 'Transaction Details':
{'Bill To': 'abc', 'Ship To': 'def', 'Product': 'Widget A'
...} ...} ... }
Obecnie rozpakowuję się, aby uzyskać „Bill To” dla ID 001, „Transaction Ref” a1 w następujący sposób:
if dictionary['ID'] == 001:
transactions = dictionary['Transactions']
if transactions['Transaction Ref'] == 'a1':
transaction_details = transactions['Transaction Details']
bill_to = transaction_details['Bill To']
Nie mogę nic na to poradzić, ale myślę, że jest to trochę niezgrabne, zwłaszcza ostatnie dwie linijki - czuję, że coś w stylu poniższych powinno działać:
bill_to = transactions['Transaction Details']['Bill To']
Czy istnieje prostsze podejście do zagnieżdżania słowników zagnieżdżonych bez konieczności rozpakowywania do zmiennych tymczasowych?