Python找到最接近的匹配句子

Pre*_*ter 2 python

我正在尝试从专辑中获取曲目列表(歌曲),对于给定的曲目,我希望得到所有匹配相似的曲目.我已经提到了下面的例子,关于如何在python中继续这个的任何想法?看起来像difflib.get_close_matches只适用于单个单词而不是句子.

例如:(找到包含字符串'环游世界'的任何内容

tracks = ['Around The World (La La La La La) (Radio Version)', 'Around The World (La La La La La) (Alternative Radio Version)', 'Around The World (La La La La La) (Acoustic Mix)', 'Around The World (La La La La La) (Rucegsegger#Wittwer Club Mix)', 'World In Motion','My Heart Beats Like A Drum (Dam Dam Dam)','Thinking Of You','Why Oh Why','Mistake No. 2','With You','Love Is Blind','Lonesome Suite','Let Me Come & Let Me Go']
Run Code Online (Sandbox Code Playgroud)

输出:

 Around The World (La La La La La) (Radio Version)
 Around The World (La La La La La) (Alternative Radio Version)
 Around The World (La La La La La) (Acoustic Mix)
 Around The World (La La La La La) (Rüegsegger#Wittwer Club Mix)
Run Code Online (Sandbox Code Playgroud)

unu*_*tbu 6

difflib.get_close_matches可以使用字符串(单个单词除外).在这种情况下,您需要降低截止值(默认值为0.6),并提高n最大匹配数:

In [19]: import difflib

In [20]: tracks = ['Around The World (La La La La La) (Radio Version)', 'Around The World (La La La La La) (Alternative Radio Version)', 'Around The World (La La La La La) (Acoustic Mix)', 'Around The World (La La La La La) (Rucegsegger#Wittwer Club Mix)', 'World In Motion','My Heart Beats Like A Drum (Dam Dam Dam)','Thinking Of You','Why Oh Why','Mistake No. 2','With You','Love Is Blind','Lonesome Suite','Let Me Come & Let Me Go']

In [21]: difflib.get_close_matches('Around the world', tracks, n = 4,cutoff = 0.3)
Out[21]: 
['Around The World (La La La La La) (Acoustic Mix)',
 'Around The World (La La La La La) (Radio Version)',
 'Around The World (La La La La La) (Alternative Radio Version)',
 'Around The World (La La La La La) (Rucegsegger#Wittwer Club Mix)']
Run Code Online (Sandbox Code Playgroud)