【发布时间】:2015-04-24 02:28:44
【问题描述】:
我有以下列表。
[["172.27.219.11", "First_Host", 13L, Decimal("44.8276")]
["172.27.219.11", "Second_Host", 16L, Decimal("55.1724")]
["172.27.241.210", "Second_Host", 19L, Decimal("100.0000")]
["52.11.201.64", "First_Host", 30L, Decimal("3.9164")]
["52.11.201.64", "Second_Host", 736L, Decimal("96.0836")]]
我必须按 ip_addresses 对它们进行分组。因此,例如对于第一个 ip_address 172.27.219.11 ,我必须将 First_Host 、 Second_Host 及其各自的十进制值分组为 traffic 。如果 IP 地址不重复,则只需添加即可。所以基本上在完成上述示例之后,我应该得到它。
[
{
"ip" : "172.27.219.11",
"value": [
{
"name" : "First_Host",
"traffic" : 44.8276,
},
{
"name": "Second_Host",
"traffic": 55.1724,
}
]
"ip" : "172.27.241.210"
"value": [
{
"name": "Second_Host",
"traffic": 100 ,
}
]
"ip": "52.11.201.64"
"value": [
{
"name": "Second_Host",
"traffic": 3.9164,
},
{
"name": "First_Host",
"traffic": 96.0836,
}
]
}
]
我需要帮助来制定上述格式的回复。
【问题讨论】:
-
在您的示例输出中有一个字典,其中包含相同键的多个实例(
ip和value)。那是不可能的。同样在这里,我们希望看到您到目前为止所做的尝试。 -
好的,那么有没有更好的方法来构造它而不是字典以获得我想要的东西。
-
这取决于你想对数据做什么以及你想如何访问它。如果你想通过 IP 访问数据集,你应该使用 IP 作为键,数据集作为值。将两者都放入
ip和value字段会使访问数据变得复杂。
标签: python python-2.7 dictionary data-structures