• python字典键或值去重


    from fuzzywuzzy import fuzz, process
    
    
    a = {'嫦娥四号探测器是用哪个型号的火箭发射的?': ['长征3B'], '嫦娥四号探测器是在我国【】发射成功的。': ['西昌发射基地']}
    b = {'嫦娥四号探测器是在我国【 】发射成功的。': ['B、西昌发射基地'], '嫦娥四号探测器是用【 】火箭发射的。': ['B、长征3B']}
    res = {**a, **b}
    c = dict(**res)
    n = 0
    print(c)
    print(len(res))
    for k, v in res.items():
        c.pop(k)
        if fuzz.partial_ratio(k, c) > 90:
            continue
        print(k, v)
        n+=1
    print(n)

    将多个字典合并到一个,但是变量a2和变量b1其实是相同的因为多了一个空格所以不会被合并,如果用

    in有些局限性,in需要两个字符串完全相同才会返回True,所以需要模糊匹配去重,上面是代码,

    可以根据自身要求修改匹配度,下面是执行结果

    {'嫦娥四号探测器是用哪个型号的火箭发射的?': ['长征3B'], '嫦娥四号探测器是在我国【】发射成功的。': ['西昌发射基地'], '嫦娥四号探测器是在我国【 】发射成功的。': ['B、西昌发射基地'], '嫦娥四号探测器是用【 】火箭发射的。': ['B、长征3B']}
    4
    嫦娥四号探测器是用哪个型号的火箭发射的? ['长征3B']
    嫦娥四号探测器是在我国【 】发射成功的。 ['B、西昌发射基地']
    嫦娥四号探测器是用【 】火箭发射的。 ['B、长征3B']
    3

      如果对你有帮助的话可以一键三连~

  • 相关阅读:
    uIP tcp/ip协议分析及其在嵌入式系统中的应用
    围棋学习网站 (updating)
    几种代价函数
    浅谈围棋自学入门 写给想自学围棋的业余爱好者
    在 Ubuntu Natty 中解除系统托盘限制
    MATLAB中的CELL用法
    支持向量机(SVM)
    成功思维的三十个模式
    Microsoft Kinect SDK vs PrimeSense OpenNI
    生命中的选择
  • 原文地址:https://www.cnblogs.com/1314h/p/13581697.html
Copyright © 2020-2023  润新知