怎么给str里打上标签的词语进行归类?

# 给str里的词语进行归类?
stt ='''
爱 恨  Q
喜 哭  Q
长 短  k
看 望  Dc
大 小 k
左 右 k
'''
# Q为情绪,k为空间,Dc动词
# print:

动作词语:[看 望]
情绪词语:[爱 恨,喜 哭]
空间词语:[长 短,大 小,左 右]
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
动词词语:['看 望']
情绪词语:['爱 恨', '喜 哭']
空间词语:['长 短', '大 小', '左 右']

str数据类型 好像 不能这么做,可以把数据转换成字典类型再做处理。