Python中相似度对比-difflib模块
计算两个字符串的相似度
应用场景:拼写纠错、文本去重、上下文相似性、不同来源数据对比
python中有比较相似度的模块 difflib,相关函数为difflib.SequenceMatcher().quick_ratio()
说明:difflib库的SequenceMatcher类的quick_ratio()方法,其功能为比较文本的距离,并把结果量化成[0,1]之间,相同的时候返回1,没有相同片段返回0。
语法:SequenceMatcher(None,s1,s2).quick_ratio()
(1)None参数是一个函数,用来去掉不需要比较的字符。
(2)s1,s2参数为两个需要计算相似度的字符串。
(3)函数返回值在0-1之间,如果为1则认为完全相等。
(4)quick_ratio()方法,计算公式如下:
计算所有匹配片段的长度之和T(区别于最大匹配长度),匹配度等于
例如:s1 = 'abcdlijkfg'
s2 = 'abcdefgm'
s1和s2可匹配的最大长度为 4,而所有匹配片段的长度之和T为 5
下面是例子:
import difflib
"""
计算两个字符串的相似度
输入:s1,s2 字符串
输出: 浮点型相似度
"""
def string_similar(s1, s2):return difflib.SequenceMatcher(None, s1, s2).quick_ratio()print(string_similar('我在中国人民大学', '我在人民大学'))
print(string_similar('我在人民大学', '我在中国人民大学'))
print(string_similar('我在人民大学中国', '我在中国人民大学'))
m1= '我在中国人民大学'
m2='我在北京中国人民大学's_num=string_similar(m1,m2)if s_num>0.8:lenS1 = len(m1)lenS2 = len(m2)if lenS1>lenS2:print(m1)else:print(m2)
运行结果: 0.8571428571428571 0.8571428571428571 1.0 我在北京中国人民大学
Python中相似度对比-difflib模块相关推荐
- Python中常用的数据分析工具(模块)有哪些?
本期Python培训分享:Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力.我们课程用到的库包括NumPy.Pandas. ...
- Python中计算程序的运行时间——timeit模块
Python中计算程序的运行时间--timeit模块 绪论 一.timeit的基本用法 1.1 timeit.timeit()函数: 创建一个Timer实例,并运行代码进行计时,默认将代码执行一百万次 ...
- Python中os与sys两模块的区别
<os和sys的官方解释> ➤os os: This module provides a portable way of using operating system dependent ...
- python 中文件输入输出及os模块对文件系统的操作
整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...
- python中sin函数在哪个模块中_从零开始第5步:Python 函数和模块
▍『1』函数 当代码出现有规律的重复的时候,可以使用函数.函数是对代码的封装复用,也可以看成是功能的抽象. 函数通过def关键字定义,def关键字后跟一个函数的标识符,然后跟一对圆括号.圆括号之中可以 ...
- 三十、深入Python中的Pickle和Json模块
@Author: Runsen 听过Python序列化pickle和Json标准库吗? pickle pickle模块是以二进制的形式序列化后保存到文件中(保存文件的后缀为".pkl&quo ...
- 二十六、深入Python中的time和datetime模块
@Author: Runsen time和datetime是Python处理日期和时间的标准库.在我们项目的实际开发当中使用率是非常高的.datetime模块有四个重要的类,date,time,dat ...
- 在python中使用什么工具管理模块_怎么使用Python pip(管理模块工具)
怎么使用Python pip(管理模块工具) 发布时间:2020-08-26 16:04:26 来源:亿速云 阅读:71 作者:Leah 本篇文章给大家分享的是有关怎么使用Python pip(管理模 ...
- python中的pymysql_(转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...
最新文章
- 全球气候变迁 物联网技术为农业保驾护航
- 《Head First Python》第四章--持久存储
- DXperience,不能不爱
- os-enviroment
- ros学习(1)工作空间创建和功能包
- mysql mysql_set_charset_SQL注入攻击之 mysql_set_charset [转]
- python oop编程_23 Python - 面向对象编程OOP
- leetcode python3 简单题189. Rotate Array
- jni 从c传递map到java_java_jni 本地调用接口DLL的编写样本,涉及数组传递,相关的 和C程序均已包括。 Develop 256万源代码下载- www.pudn.com...
- 2022高压电工考试试题及在线模拟考试
- php域名重定向跳转,301域名重定向跳转设置(所有方法都在这)
- (二)安装SVN服务器,web管理界面
- Blender图解教程:用Krita为模型贴花
- Python中sorted()排序与字母大小写的问题
- 深度学习—数据处理常用代码Python合集
- linux下firebox的flash插件
- axios拦截器、ElementUI组件的使用
- Python jieba库的安装
- 组合导航原理-松组合+紧组合概念
- 选课系统甘特图(用Excle画甘特图)