我是python新手,我必须感谢大家在这里的精彩讨论,但我有一个问题,我没有看到任何建议。(或者太复杂了,我无法理解。)
我有两个列表(元组?)每个都有大约一百万个条目。它们都按第一个条目(单词)排序,格式相同。在每个列表中,单词/页面组合都是唯一的。你知道吗
List1= [('word1', 'page1'), ('word1', 'page2'), ('word3', 'page1'),...]
List2 = [('word1', 'page4'), ('word2', 'page2'), ('word3', 'page1'),...]
我需要找到列表1中出现在列表2中的每个“单词”。这个例子的输出应该是
[('word1', 'page1'), ('word1', 'page2'), ('word1', 'page4'),('word3','page1')]
我已经看了这么多,我现在完全混淆了集合,列表,元组,字典,…我可能可以做一个for循环,但似乎有更好的选择在这里某处。你知道吗
看起来是个大数据问题。您可能需要使用特定的工具,例如
numpy
和pandas
。如果内存中有足够的RAM来容纳这两个数据,可以在numpy
中完成:如果需要将单词映射到页面,可以使用dict将单词映射到页面。你知道吗
然后可以对dict键执行set操作,以便在它们之间进行比较
我相信有很多方法可以实现你的目标。由于您的数据非常大,您必须考虑性能、时间或空间还是性能?下面是一些例子。你知道吗
相关问题 更多 >
编程相关推荐