我有一个清单清单如下
[["This", "is","a", "test"], ["test","something", "here"], ["cat", "dog", "fish"]]
Run Code Online (Sandbox Code Playgroud)
我如何才能得到两个词最多的共同点?在这种情况下,它将是第一和第二列表,因为它们都有共同的单词test
我试图通过找到两个列表的每个组合的交集并跟踪具有最多共同词的组合来解决此问题。但是,此方法在说100,000个列表时似乎效率低下。我认为是(100,000个选择2个)组合。有更快的方法吗?
这是我的代码尝试
[["This", "is","a", "test"], ["test","something", "here"], ["cat", "dog", "fish"]]
Run Code Online (Sandbox Code Playgroud)
我的程序的输出是我所期望的,但是在较大的测试用例中它非常慢
输出:
(['This', 'is', 'a', 'test'], ['test', 'something', 'here'])
Run Code Online (Sandbox Code Playgroud)