2014-05-22 153 views
0

我有字典对象的列表,如:映射对象列表

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

我想创建的字典项新的列表,从上面,像这样:

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

其中keys in k是values in j。

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

+0

为什么你想第二个是一个词典列表,而不是一个大字典? – user2357112

回答

3

你不能在一个列表中进行密钥查找。相反,我建议只制作一个大字典。然后,你可以做​​和获取设备名称的列表,而不必笨拙地通过类型的字典找你想要的与键列表迭代的:

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

如果你真的需要类型的字典列表,你可以改为

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