try this:
dct = {}
with open('input', 'r') as f:
for line in f:
name, value = line.split()
key, name = name.split('_')
lst = dct.get(key ,[])
lst.extend([name, value])
dct[key] = lst
with open('result', 'w') as f:
for k, v in dct.items():
f.write(k+" " + (" ".join(v))+"\n")