计算文本相似度并将文件写到文本文件

 

 工作中有一个小需求找相近的颜色,就用文本相似度做了,包是直接找的一个包,大概是交集/并集的计算形式,然后将计算结果写到txt文件中

import difflib

A = B = ['纯白',
         '纯黑色',
         '白红色Hi',
         '棕色/白色Hi',
         '白色/蓝色Hi',
         '白色/棕色Hi',
         '白色/蓝色',
         '黑色\白底Hi',
         '米黄色',
         '黑色\白底',
         '白色',
         '深蓝色',
         '大红',
         '白色黑边',
         '布面灰/草绿',
         '深蓝低帮',
         '胭脂红',
         '灰金色',
         '白色',
         '黑武士']

res_list = []

for i, a in enumerate(A, 1):
#第二个参数表示下标开始的位置,取值为1即表示下标从1开始计算,默认从0开始
    for b in B:
        if a != b:
            score = difflib.SequenceMatcher(a=a, b=b).quick_ratio()
            # print(a, b, str(score))
            res_list.append((a, b, str(score)))
    if i % 10 == 0:  # 每10行写入一次
        print(i)
        with open("res.txt", "a", encoding="utf-8") as f:
#a代表追加文件,会定位到打开文件的末尾
            for atuple in res_list:
                f.write("\t".join(atuple) + "\n")
                res_list = []  # 重置

# 未满10行的最后写入
with open("res.txt", "a", encoding="utf-8") as f:
    for atuple in res_list:
        f.write("\t".join(atuple) + "\n")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值