遍历具有列表的嵌套字典以获取值

时间:2015-07-29 04:17:17

标签: python-2.7

我需要遍历下面的嵌套字典并突出显示值" REM"和" signmeup-3.4.208.zip"。任何人都可以帮助获得这些价值吗?

{"actions":[{},{"parameters":[{"name":"ReleaseRequest","value":"REM"},{"name":"Artifact","value":"signmeup-3.4.2088.zip"}]},{"causes":[{"shortDescription":"Started by user ","userId":"sbc","userName":"xyz"}]},{},{},{},{},{},{"parameters":[{"name":"DESCRIPTION_SETTER_DESCRIPTION","value":"inf-xyz"}]},{}],"artifacts":[{"displayPath":"INT_backup.xml","fileName":"INT_backup.xml","relativePath":"INT_backup.xml"},{"displayPath":"Invalidlist.txt","fileName":"Invalidlist.txt","relativePath":"Invalidlist.txt"},{"displayPath":"OUT_backup.xml","fileName":"OUT_backup.xml","relativePath":"OUTP_backup.xml"}],"building":False,"description":"inf-ECR2.2088.zip","duration":1525074,"estimatedDuration":1303694,"executor":None,"fullDisplayName":"inf-#33","id":"2015-07-27_18-17-00","keepLog":False,"number":33,"result":"SUCCESS","timestamp":1438046220000,"url":"inf/33/","builtOn":"Windows_Slave","changeSet":{"items":[],"kind":None},"culprits":[]}

1 个答案:

答案 0 :(得分:0)

>>> d = {
...     "actions": [
...         {},
...         {"parameters": [
...             {"name": "ReleaseRequest", "value": "REM"},
...             {"name": "Artifact", "value": "signmeup-3.4.208.zip"}
...         ]},
...         {"causes": [{"shortDescription": "user"}]}
...     ]
... }

获取每个值:

>>> d['actions'][1]['parameters'][0]['value']
'REM'
>>> d['actions'][1]['parameters'][1]['value']
'signmeup-3.4.208.zip'

获取所有值:

>>> [param['value'] for param in d['actions'][1]['parameters']]
['REM', 'signmeup-3.4.208.zip']