2016-02-27 143 views
-1

我有麻煩試圖搶佔一定值了這本詞典/名單混亂的內部價值..試圖打印TARGET | CHANGE如何抓住嵌套的字典

example = [{'add_app_key_to_env': {'app': '"fdsgsd"', 
         'commit_message': '"Add key dsfgfd to app fdsgsd"', 
         'ecntype': '"core"', 
         'env': '"{{ target_env }}"', 
         'key': '"dsfgfd"', 
         'password': '"{{ password }}"', 
         'username': '"{{ username }}"', 
         'value': '"{{ sdfgd }}"'}, 
    'name': '"[Step 1] Add key dsfgfd to app fdsgsd"', 
    'register': '"est1"', 
    'when': 'TEST1|CHANGED OR TEST2|CHANGED '}, 
{'name': '"[Step 2] Trigger siteops envkeys regeneration"', 
    'trigger_tc_build': {'build_id': 'bt15300', 
         'password': '"{{ AD_PASSWORD }}"', 
         'username': '"{{ AD_USER }}"', 
         'wait_for_completion': '"yes"'}, 
    'when': 'TARGET|CHANGE '}, 
{'add_app_key_to_env': {'app': '"sdfg"', 
         'commit_message': '"Add key hdfgh to app sdfg"', 
         'ecntype': '"core"', 
         'env': '"{{ target_env }}"', 
         'key': '"hdfgh"', 
         'password': '"{{ password }}"', 
         'username': '"{{ username }}"', 
         'value': '"{{ dfgh }}"'}, 
    'name': 'Add key hdfgh to app sdfg', 
    'register': '"test2"'}] 
目前

當我打印example[-0]['when']

我得到TEST1|CHANGE OR TEST2|CHANGE。問題是我想要得到TARGET|CHANGE。我對如何獲得目標變化感到困惑,因爲它們看起來都具有相同的「when」鍵。

+2

'example [1] ['when']' – falsetru

+0

嘗試用'pprint'打印字典。更有意義。 – Muctadir

+0

示例[1] ['when']給我索引錯誤:列表超出範圍 – david

回答

1

這只是三個獨立詞典的列表。

you_want = example[1] 

In [71]: you_want 
Out[71]: 
{'name': '"[Step 2] Trigger siteops envkeys regeneration"', 
'trigger_tc_build': {'build_id': 'bt15300', 
'password': '"{{ AD_PASSWORD }}"', 
'username': '"{{ AD_USER }}"', 
'wait_for_completion': '"yes"'}, 
'when': 'TARGET|CHANGE '} 

In [72]: you_want.get('when') 
Out[72]: 'TARGET|CHANGE '