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



我正在尝试比较 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,列表如果从 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]

干杯。

最新更新