我想计算两个不同长度的列表之间的相似性.
例如:
listA = ['apple', 'orange', 'apple', 'apple', 'banana', 'orange'] # (length = 6)
listB = ['apple', 'orange', 'grapefruit', 'apple'] # (length = 4)
Run Code Online (Sandbox Code Playgroud)
如您所见,单个项目可以在列表中多次出现,并且长度大小不同.
我已经考虑过比较每个项目的频率,但这并不包含每个列表的大小(一个列表只是另一个列表的两倍应该是相似的,但不完全相似)
EG2:
listA = ['apple', 'apple', 'orange', 'orange']
listB = ['apple', 'orange']
similarity(listA, listB) # should NOT equal 1
Run Code Online (Sandbox Code Playgroud)
所以我基本上想要包含列表的大小以及列表中项目的分布.
有任何想法吗?