我是python的初学者.在这里,我在比较两个列表时遇到了一个问题.我的第一个问题是,不应该对列表进行精确比较.但它应该与其他列表进行大约70%个匹配的比较,如果存在,则返回true.contains()方法在这种情况下没有帮助.以下是我的列表:

TotalTags = ["citrus", "orange", "vitamin-C", "sweet", "yellow", "vitamin-A"] #etc
LikedTags = ["citrus", "orange", "vitamin-D"]

推荐答案

Sahil Desai的FuzzyFuzzy库的答案看起来非常简单.

这是一个具有基本功能的 idea .

TotalTags = ["citrus", "orange", "vitamin-C", "sweet", "yellow", "vitamin-A"] #etc
LikedTags = ["citrus", "orange", "vitamin-C", "sweet", "yellow"]

print(len(set(TotalTags).intersection(set(LikedTags))) / len(TotalTags))  # 0.8333333
print(sum([True for x in TotalTags if x in LikedTags]) / len(TotalTags))  # 0.8333333

Python相关问答推荐

分割成块后如何合并图像

c#中的for循环与python中的for循环

实现多处理以在 opencv 中同时测试两个视频以进行对象检测

将 numpy.stack() 与 numba njit 一起使用时出现 TypingError

使用 Pandas 数据框绘制 Gekko 模型

AttributeError:模块“django.db.models”没有属性“ManyToMany”

如何让 Paramiko 默认使用 PowerShell?

我如何使用类别中值 df.fillna

如何在 Python 中从空格中删除“-”并将它们保留在单词之间?

替换字符串内的不间断空格 \xa0

一个月的粒度数据中各个标签的总和

使用同一字典中的键扩展 dict 值

如何将数据帧的字典更改为一个具有多列的数据帧

如何在嵌入消息中也包含正常内容?

PyQt5:使用进度更新启动、停止和暂停线程

判断集合列表是否具有任何包含关系的最快方法

pandas DataFrame 中 x 天内每个元素的累积乘积

python-click MultiCommand 的全局选项

在 O(N) 中找到列表中元素总和一半的最小步骤数,其中每个步骤将列表中的项目减半

无法使用可从 cli 运行的命令调用子进程