Python - l'accès à des valeurs imbriquées à l'intérieur des dictionnaires

J'ai un dictionnaire qui contient les dictionnaires, qui peut également contenir les dictionnaires, par exemple

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

Actuellement, je suis déballage pour obtenir le "projet De Loi" pour l'ID 001, des Transactions " Ref " a1 comme suit:

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

Je ne peux pas aider mais pense que c'est un peu maladroit, surtout les deux dernières lignes - j'ai envie de quelque chose le long des lignes de la suivante devrait fonctionner:

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

Est-il une approche plus simple pour le forage vers le bas dans imbriqués les dictionnaires, sans avoir à décompresser dans intérimaire variables?

La ligne vous vous sentez devrait fonctionner dans la réalité.

OriginalL'auteur user1530213 | 2012-07-28