"listeners": [
{
"ip_address": "::",
"node": "rabbit@bx1",
"port": 5672,
"protocol": "amqp",
"socket_opts": {
"backlog": 128,
"exit_on_close": false,
"linger": [
true,
0
],
"nodelay": true
}
},
{
"ip_address": "::",
"node": "rabbit@bx1",
"port": 25672,
"protocol": "clustering",
"socket_opts": []
},
{
"ip_address": "::",
"node": "rabbit@bx1",
"port": 15672,
"protocol": "http",
"socket_opts": {
"port": 15672
}
}
],
对于一个实例,我只需要过滤" ip address"和使用python的jason模块的相应值?得到类似下面的东西。
"listeners": [
{
"ip_address": "::",
}
},
{
"ip_address": "::",
},
}
}
],
请指教一下。提前谢谢。
答案 0 :(得分:0)
据我了解,你有一个词典列表:
>>> listeners = [{"a": 1, "b": 2}, {"a": 3, "b": 1}]
这意味着您可以使用列表中的map函数来过滤dicts:
>>> map(lambda d: d["a"], listeners)
[1, 3]
现在这是一个简单的清单。您还可以(重新)在lambda函数中创建一个dict:
>>> map(lambda d: {"a": d["a"]}, listeners)
[{'a': 1}, {'a': 3}]
这是你需要的吗?