【问题标题】:Python - Compare the similarity of one number and a list of numbersPython - 比较一个数字和一个数字列表的相似度
【发布时间】:2018-12-04 10:08:42
【问题描述】:

我正在尝试比较 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学习者 - 提前谢谢你!

【问题讨论】:

  • 我不熟悉SequenceMatcher,但是如果列表需要相同的长度,您是否不能只创建单个对象的列表,或者多次复制该对象? ?

标签: python similarity relevance


【解决方案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)

【讨论】:

    【解决方案2】:

    您是否尝试过替换:

    B=2
    

    与:

    B=[2]
    

    ?

    干杯。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 2022-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多