这是我拥有的数据结构
{"A": [
{ 'key1 a' : 'value1',
'key2 a' : 'A'
'key3 a' : 'xyz'
},
{ 'key1 a' : '',
'key2 a' : 'B'
'key3 a' : ''
},
{ 'key1 a' : 'value3',
'key2 a' : 'value4'
'key3 a' : 'xyz'
}
],
"B": [
{ 'key1 b' : 'value1',
'key2 b' : 'A'
'key3 b' : 'xyz'
},
{ 'key1 b' : '',
'key2 b' : 'C'
'key3 b' : ''
},
{ 'key1 b' : 'value3',
'key2 b' : 'value4'
'key3 b' : 'xyz'
}
]
}
现在,
我想连接除 key2 以外的所有其他字段为空的字典的值,如果这成立,那么 key2 的值应该与以前的字典 key2 连接,并且应该删除自己。
预期输出为
{"A": [
{ 'key1 a' : 'value1',
'key2 a' : 'A B'
'key3 a' : 'xyz'
},
{ 'key1 a' : 'value3',
'key2 a' : 'value4'
'key3 a' : 'xyz'
}
],
"B": [
{ 'key1 b' : 'value1',
'key2 b' : 'A C'
'key3 b' : 'xyz'
},
{ 'key1 b' : 'value3',
'key2 b' : 'value4'
'key3 b' : 'xyz'
}
]
}
到目前为止我所做的是
for k,v in final_dict.iteritems():
i=0
j=len(v)
while i < j:
if((not(v[i]["key1 a"])) and (not(v[i]["key3 a"]))):
v[i-1]["key2 a"] = v[i-1]["key2 a"] + v[i]["key2 a"]
v.pop(i)
del v[i]
j=j-1
else:
i=i+1