将dict对象列表映射到新的dict对象列表

时间:2014-05-22 06:41:02

标签: python list python-2.7 dictionary

我有一个dict对象列表,例如:

>>> j = [{ "field": "dev_name", "value": ['dev_1', 'dev_2', 'dev_3']}, { "field": "dev_type", "value": ['p2p', 'Radwin', 'Talsima']}]

我想从上面创建一个新的dict项目列表,如下所示:

>>> k = [{ "dev_name": ['dev_1', 'dev_2', 'dev_3']}, { "dev_type": ['p2p', 'Radwin', 'Talsima']}]

k中的keys在j中为values

有人可以帮助我吗? 在此先感谢!!

1 个答案:

答案 0 :(得分:3)

您无法在词典列表中进行密钥查找。相反,我建议只做一个大字典。然后你可以做k['dev_name']并获取设备名称列表,而不必笨拙地遍历一个查找带有你想要的密钥的词典列表:

k = {d['field']: d['value'] for d in j}

如果你真的需要一个dicts列表,你可以改为

k = [{d['field']: d['value']} for d in j]