转换成字典

2024-09-28 19:06:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要把这个数据结构转换成多个字典

我有一个数据结构,我想把它转换成字典,使脚本工作

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”可以是键,其余的可以是各有一本字典的项。 比如:

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

Tags: ip脚本id数据结构data字典machostname
1条回答
网友
1楼 · 发布于 2024-09-28 19:06:16

使用听写理解

例如:

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

相关问题 更多 >