【发布时间】:2015-04-28 20:15:47
【问题描述】:
这更像是一道数学题。假设我在 Python 中有两个不同大小的列表
listA = ["Alice", "Bob", "Joe"]
listB = ["Joe", "Bob", "Alice", "Ken"]
我想知道这两个列表的重叠百分比。顺序在列表中并不重要。找到重叠很容易,我已经看过其他关于如何做到这一点的帖子,但我无法在脑海中完全扩展它以找出它们重叠的百分比。如果我以不同的顺序比较列表,结果会有所不同吗?这样做的最佳方法是什么?
【问题讨论】:
-
顺序在这里并不重要,但是,您首先需要定义百分比的公式,它可以是:
2*number of matches/(len(lista)+len(listb))或其他东西 -
如果列表是
[1,1,1]和[1]。重叠是 100% 还是 33%? -
这两个列表的预期输出是什么?
-
您是否关心两个列表共有的不同元素的百分比(在这种情况下
set()将非常有帮助),或者关心所有元素(包括重复)的百分比,即两个列表共享?
标签: python list overlap similarity