import difflib
def stri_similar(s1,s2):
return difflib.SequenceMatcher(None,s1,s2).quick_ratio()
data1 = '你好啊'
data2 = '你好'
# for i in range(len(data1)):
# s1 = data1[i]
# s2 = data2[i]
# print(stri_similar(s1,s2) )
# print(stri_similar(data1,data2) )
#相似比对比
#顺序对比法:两个列表按顺序对比 缺点:计算量小 ; 优点:相似度对比准确度低
#遍历对比法:一个列表遍历另一个列表的全部,一段对比每一段。 缺点:计算量大 ; 优点:相似度对比更有准确度
d = ['长短搭配,', '尽量减少接头,', '以节约钢材。']
text = ['搭配,', '尽少接头,', '以节约钢材。']
def contrast(text,d):
try:
count = 0
for i in range(len(text)): #遍历段落
count1 = 0
if len(text[i]) > len(d[i]):
c = text[i]
t = d[i]
else :
c = d[i]
t = text[i]
for p in c: #遍历段落字符
if p in t:
count1 += 1
count += count1/len(c)
# print('{:.2f} {:.2%}'.format(count,count/len(text)))
return count/len(text)
except:
print('报错:列表长度不一样')
# contrast(text,d)
def contrast2(list1,list2):
count = 0
for i in list1:
count1 = 0
for t in list2:
count1 += contrast([t],[i])
count += count1
print('总量:{:.2f} 相似度:{:.2%}'.format(count,count/len(list1)))
list1 = ['长短搭配,', '尽量减少接头,', '以节约钢材。']
list2 = ['长短搭配,','尽量减少接头,']
contrast2(list1,list2)
# contrast(list1,list2)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?