Python-比较一个数字和一个数字列表的相似性

时间:2018-06-25 18:53:20

标签: python similarity relevance

我正在尝试比较1个数字和一个数字列表之间的相似性,并且不确定如何产生此问题?

我知道如何比较2种输入的相似性:

from difflib import SequenceMatcher 
def similar(a,b):
    return SequenceMatcher(None, a, b).ratio()

a = '123abc'   
b = '321321'  
similar(a,b) 

现在我想比较1个数字和一个数字列表之间的相似性/相关性,我尝试过:

A=[1,2,3,4,5,6,7]
B=2

from difflib import SequenceMatcher 
def similar(a,b):
    return SequenceMatcher(None, a, b).ratio()

similar (A,B)

它没有给我我想要的东西-它显示“'int'对象不可迭代”。我试图获得数字(2)与A的列表如何匹配的准确性/可信度。在这种情况下,理想的情况是-如果数字为2,并且列表为1-7,则相似度为1,如果数字是8或9,然后相似度是0。

任何人都有如何做的想法?我是一名新的python学习者-提前谢谢!

2 个答案:

答案 0 :(得分:1)

使B的长度为1,以使两个对象具有相同的类型,以便它们具有可比性。

A=[1,2,3,4,5,6,7]
B=[2]

from difflib import SequenceMatcher 
def similar(a,b):
    return SequenceMatcher(None, a, b).ratio()

similar (A,B)

答案 1 :(得分:0)

您是否尝试过更换:

B=2

具有:

B=[2]

干杯。