如何在嵌套字典中获取值

时间:2016-02-27 01:38:35

标签: python dictionary

我无法从这本词典/列表中抓取一定的价值。试图打印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。我对如何获得目标变化感到困惑,因为它们似乎都具有相同的"当"键。

1 个答案:

答案 0 :(得分: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 '