import itertools as it
import re
from string import Template
stt ='''
爱 恨 Q
喜 哭 Q
长 短 k
看 望 Dc
大 小 k
左 右 k
'''
d = {'Q': '情绪','Dc': '动词','k': '空间',}
r = stt.strip().splitlines()
rr = [re.split(r" (?=[a-zA-Z]+)", i ) for i in r]
rr.sort(key = lambda x: x[1])
resu = it.groupby(rr, key = lambda x: x[1])
tem = '\n'.join(['$' + g +'词语:' + str([i[0].strip() for i in v]) for g, v in resu])
t = Template(tem)
result = t.substitute(d)
print(result)
--result
动词词语:['看 望']
情绪词语:['爱 恨', '喜 哭']
空间词语:['长 短', '大 小', '左 右']