从字典数组中提取多个字段

时间:2017-02-16 16:51:30

标签: python arrays parsing multidimensional-array

我有一系列字典,如下所示:

[{u'description': None, u'url': u'https://epi.testsite.net/index.php?/suites/view/196', u'is_completed': False, u'is_baseline': False, u'completed_on': None, u'is_master': False, u'project_id': 13, u'id': 196, u'name': u'Very Basic'}, {u'description': None, u'url': u'https://epi.testsite.net/index.php?/suites/view/200', u'is_completed': False, u'is_baseline': False, u'completed_on': None, u'is_master': False, u'project_id': 13, u'id': 200, u'name': u'Stress Testing'}]

和一些用于提取'id'字段的Python代码。代码如下:

suites_list = client.send_get ('get_suites/' + pid)
suites_list_ids = [item['id'] for item in suites_list]
return (suites_list_ids)

suites_list生成上面的数据; suite_list_ids生成一个整洁的输出,如下所示:

[196, 200]

我想提取第二个字段'name'并将其包含在输出中。所需的结果如下:

[ {196,'Very Basic'}, {200, 'Stress Testing'} ]

我在这个上已经燃烧了很多次,可能忽略了一些简单的事情。感谢任何建议。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

suites_list_vals = [(item['id'], item['name']) for item in suites_list]

输出:

[(196, 'Very Basic'), (200, 'Stress Testing')]

这是一个元组列表。要迭代对象,您可以执行以下操作:

for val in suites_list_vals:
    print(val[0], ':', val[1])

输出:

196 : Very Basic
200 : Stress Testing