我是python的新手,我有一个嵌套列表,想要在其中使用以下数据创建字典,如下所示。
这是我的输入内容
input =
[['103.29.45.128/27','32','ge','MPLS-LOOPBACK'],['100.127.0.0/23',['100.92.57.168/30','','PS_S1']
]
预期输出应如下:
result = "prefix_set": [
{
"prefix_entry": [
{
"prefix": "103.29.45.128/27","prefix_match": "32","prefix_condition": "ge"
},{
"prefix": "100.127.0.0/23","prefix_condition": "ge"
}
],"prefix_name": "MPLS-LOOPBACK"
},{
"prefix_entry":
[
{
"prefix": "100.92.57.168/30","prefix_match": "","prefix_condition": ""
}
],"prefix_name": "PS_S1"
}
]
请帮助我获得所需的输出。
我尝试了以下代码:
fsm_results = [['103.29.45.128/27','PS_S1']
]
prefix_name = []
for i in fsm_results:
prefix_name1 = i[3]
if prefix_name1 not in prefix_name:
prefix_name.append(prefix_name1)
temp1 = []
for i in range(0,len(prefix_name)):
temp = {"prefix_name": prefix_name[i]}
for j in range(0,len(fsm_results)):
if temp['prefix_name'] == fsm_results[j][3]:
b = {"prefix":fsm_results[j][0],'prefix_match':fsm_results[j][1],'prefix_condition':fsm_results[j][2]}
temp.update(b)
temp1.append(temp)
print(temp1)
我正在得到这样的输出:
[{'prefix_name': 'MPLS-LOOPBACK','prefix': '100.127.0.0/23','prefix_match': '32','prefix_condition': 'ge'},{'prefix_name': 'PS_S1','prefix': '100.92.57.168/30','prefix_match': '','prefix_condition': ''}]