I have the following dict :
dic = {'seq1': '(prot1_val1, prot1_val10, prot2_val2, prot3_val3)',
'seq2': '(prot1_val5)',
'seq3': '(prot2_val2,prot4_val7)'
}
and I would like to obtain this :
d = { 'prot1': {'seq1': ['val1', 'val10'], 'seq2': ['val5']},
'prot2': {'seq1': ['val2'], 'seq3': ['val2']},
'prot3': {'seq1': ['val3']},
'prot4': {'seq3': ['val7']}
}
I have tried by doing like this :
d = {}
for key, value in dico.items():
t = tuple([tuple(i.split("_")) for i in re.split(',',re.sub('[()]','',value))])
for prot,val in t:
d.setdefault(prot, {})[key].apppend(val)
print(d)
But if get a KeyError
. How can I resolve this?