2016-02-27 68 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 '