AC自动机的使用案例
发布日期:2021-05-06 21:43:56 浏览次数:11 分类:技术文章

本文共 1009 字,大约阅读时间需要 3 分钟。

#coding:utf-8import ahocorasickdef make_AC(AC, word_set):    for word in word_set:        AC.add_word(word,word)    return ACdef test_ahocorasick():    '''    ahocosick:自动机的意思    可实现自动批量匹配字符串的作用,即可一次返回该条字符串中命中的所有关键词    '''    key_list = ["苹果", "香蕉", "梨", "橙子", "柚子", "火龙果", "柿子", "猕猴挑"]    AC_KEY = ahocorasick.Automaton()    AC_KEY = make_AC(AC_KEY, set(key_list))    AC_KEY.make_automaton()    test_str_list = ["我最喜欢吃的水果有:苹果、梨和香蕉", "我也喜欢吃香蕉,但是我不喜欢吃梨"]    for content in test_str_list:        name_list = set()        for item in AC_KEY.iter(content):#将AC_KEY中的每一项与content内容作对比,若匹配则返回            name_list.add(item[1])        name_list = list(name_list)        if len(name_list) > 0:            print(content, "--->命中的关键词有:", "\t".join(name_list))if __name__ == "__main__":    test_ahocorasick()我最喜欢吃的水果有:苹果、梨和香蕉 --->命中的关键词有: 梨	香蕉	苹果我也喜欢吃香蕉,但是我不喜欢吃梨 --->命中的关键词有: 梨	香蕉————————————————版权声明:本文为CSDN博主「追梦杏花天影」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/u010569893/article/details/97136696

 

上一篇:python2执行程序内存溢出导致被killed的问题因果分析
下一篇:一行代码太长的解决方法

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月05日 14时21分25秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章