转换成字典

时间:2019-06-06 13:25:31

标签: python python-2.7 dictionary

我需要将此数据结构转换为多个字典。

我有一个数据结构,我想将其转换为字典以使脚本正常工作。

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'}}

1 个答案:

答案 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'}}