我正在尝试构建一个python脚本,该脚本递归地从目录中读取文本文件,并将所有文件中的所有单词保存到数组中(让我们称之为array-a(。
我有另一个数组,它有一个预定义单词的列表(我们称之为array-B(。,例如:
['hello', 'cat', 'dog', 'mouse',...]
我想做的是,对数组A中的每个单词,检查它是否在数组B中,如果不在,则添加它。
我写了那个脚本,但对于大数组(对于许多单词(需要很长时间,因为它的O(2^n(-对于数组-A中的每个单词,检查其数组-B中是否存在。
在实现按字典顺序添加单词(以允许快速搜索算法(和使用快速搜索搜索单词之前,我想知道是否已经有python类可以做到这一点。
只需使用dict(如{'hello':1, 'cat':1, 'dog':1, 'mouse':1, ...}
(,就可以按每个单词摊销O(1(进行检查。
如果您想要一个最终数组,两个数组中的每个单词都只出现一次,请尝试以下操作:
new_arr = list(set(arrA + arrB)) # + adds both arrays, set deletes more than one occurrence