Python实现根据给定关键词与之的相似性排序列表

本文介绍了一种使用difflib库中的SequenceMatcher类实现的相似性排序算法,该算法可根据指定关键字对字符串列表进行排序,输出结果按与关键字相似度从高到低排列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调用相关内置方法即可,

import difflib

def similar_sorted(arr: list, key: str):
    """ 根据给定key,以与key的相似性排序数组 """
    return sorted(arr, reverse=True,
                  key=lambda x: difflib.SequenceMatcher(a=x, b=key).quick_ratio())

if __name__ == '__main__':
    arr = ["chill", "nifty", "precooled", "cooldaddy", "cool", "coolguy", "dandy", "uncool"]
    key = 'cool'
    res = similar_sorted(arr, key)
    print(res)
    # 输出结果:['cool', 'uncool', 'coolguy', 'precooled', 'cooldaddy', 'chill', 'nifty', 'dandy']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值