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

Python - Compare the similarity of one number and a list of numbers

我正在尝试比较 1 个数字与数字列表之间的相似性,但不确定如何生成此问题?

我知道如何比较 2 个输入的相似度:

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

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

现在我想比较 1 个数字和数字列表之间的 similarity/relevance,我试过:

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 列表匹配的 accuracy/confident。在这种情况下,理想情况下 - 如果数字为 2,而列表为 1-7,则相似度为 1,如果数字是 8 或 9,则相似度为 0。

有人知道怎么做吗?我是一名新 python 学习者 - 在此先感谢您!

使 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)

您是否尝试过更换:

B=2

与:

B=[2]

?

干杯。