【发布时间】:2016-11-04 15:23:23
【问题描述】:
假设我有一个
dictionary = {
'host_type' : {'public_ip':['ip_address','ip_address','ip_address'],
'private_dns':['dns_name','dns_name','dns_name']}
}
有一些主机类型,假设有3种主机类型:主,从,备份
字典的输出可以包含每种主机类型的不同数量的主机。例如,对于 2 个 master、6 个 slave、2 个备份,字典看起来像这样:
dictionary =
{
'master' : {
'public_ip':['ip_address','ip_address'],
'private_dns': ['dns_name','dns_name']
},
'slave' : {
'public_ip':['ip_address','ip_address', 'ip_address','ip_address','ip_address','ip_address'],
'private_dns': ['dns_name','dns_name','dns_name','dns_name','dns_name','dns_name']
},
'backup' : {
'public_ip':['ip_address','ip_address'],
'private_dns':['dns_name','dns_name']
}
}
现在我想解析字典并对主机进行分组,这样我总是有 1 个主设备、1 个备份设备和 3 个从设备。我怎样才能解析这样的字典来达到类似的效果:
master,public_ip,private_dns
backup,public_ip,private_dns
slave,public_ip,private_dns
slave,public_ip,private_dns
slave,public_ip,private_dns
master,public_ip,private_dns
backup,public_ip,private_dns
slave,public_ip,private_dns
slave,public_ip,private_dns
slave,public_ip,private_dns
【问题讨论】:
-
我尝试了一个 grouper 函数,所以我得到了以下形式的输出:(public_ip, private_dns) 但我仍然需要按 1master,1backup,3slaves 对它进行分组
-
我不需要一个确切的答案,但可能需要一个提示,让我朝着正确的方向前进。
标签: python dictionary grouping