赵灵越 2022-10-16 17:45 采纳率: 99.3%
浏览 24
已结题

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

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

动作词语:[看 望]
情绪词语:[爱 恨,喜 哭]
空间词语:[长 短,大 小,左 右]
  • 写回答

2条回答 默认 最新

  • chuifengde 2022-10-16 22:55
    关注
    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
    动词词语:['看 望']
    情绪词语:['爱 恨', '喜 哭']
    空间词语:['长 短', '大 小', '左 右']
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 深度学习残差模块模型
  • ¥20 两个不同Subnet的点对点连接
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)