我需要将此数据结构转换为多个字典。
我有一个数据结构,我想将其转换为字典以使脚本正常工作。
p= {u'data': [{u'_id': u'5cd514f5b52af58fc58df832',
u'encap': u'vlan-18',
u'hostname': u'CGST',
u'ip': u'10.0.0.7',
u'mac': u'00:10:46:D6:00:40'},
{u'_id': u'5cd514f5b52af58fc58df830',
u'encap': u'vlan-15',
u'hostname': u'GBTW',
u'ip': u'10.0.4.1',
u'mac': u'00:40:39:B6:F8:3A'}]}
“ mac”是否可以作为键,其余的可以作为每个具有1个字典的项目? 像这样:
{00:10:46:D6:00:40:{ip: '10.0.0.7',encap:'vlan-18',hostname:'CGST'}}
{00:40:39:B6:F8:3A:{ip: '10.0.4.1',encap:'vlan-15',hostname:'GBTW'}}
答案 0 :(得分:2)
使用字典理解
例如:
p= {u'data': [{u'_id': u'5cd514f5b52af58fc58df832',
u'encap': u'vlan-18',
u'hostname': u'CGST',
u'ip': u'10.0.0.7',
u'mac': u'00:10:46:D6:00:40'},
{u'_id': u'5cd514f5b52af58fc58df830',
u'encap': u'vlan-15',
u'hostname': u'GBTW',
u'ip': u'10.0.4.1',
u'mac': u'00:40:39:B6:F8:3A'}]}
print({i.pop("mac"): i for i in p["data"]})
输出:
{u'00:10:46:D6:00:40': {u'_id': u'5cd514f5b52af58fc58df832',
u'encap': u'vlan-18',
u'hostname': u'CGST',
u'ip': u'10.0.0.7'},
u'00:40:39:B6:F8:3A': {u'_id': u'5cd514f5b52af58fc58df830',
u'encap': u'vlan-15',
u'hostname': u'GBTW',
u'ip': u'10.0.4.1'}}