【发布时间】:2018-06-29 10:50:52
【问题描述】:
所以我目前正在编写 5 部词典,未来可能还会更多,每部至少有 257000 多个词条。将它们视为 5 个巨大的文本文件(大小:10-20 Mb),例如每行 10-30 个字符就可以了。 条目示例如下:
abaissements volontaires,abaissement volontaire.N+NA:mp
我的任务是找出不同词典之间的重复单词。 因此,首先,我必须处理文件以仅获取示例中的 abaissements volontaires。在这部分之后,我的想法是有一个包含以下元素的列表:
dict_word_list = [[dict_A, [word1, word2, ...]], [dict_B, [word1, word2, ...]]]
选择list而不是dict只是因为dict在Python中是无序的,我必须知道每个单词列表对应的字典名称,所以我把对应的字典名称放在每个列表的元素0中。
我的问题是如何找出这些庞大列表之间的重复项,同时保留字典名称? 我尝试了如果不在列表中,但由于文件大小和非常旧的处理器(工作中一台破旧的笔记本电脑中的英特尔酷睿 i3,我无法使用自己的笔记本电脑由于机密性问题),该程序只是在那里出现错误。
也许 set 会是一个解决方案,但我该如何打乱比较?我想要这样的结果:
重复 dict_A, dict_B: [word1, word2, word3, ...]
重复 dict_B, dict_C: [word1, word2, word3, ...]
重复 dict_A、dict_B、dict_C:[word1、word2、word3、...]
【问题讨论】:
-
可以先对文件进行排序吗?这会让事情变得更容易吗?