有没有一个类似数组的类可以实现按字母顺序快速搜索添加单词



我正在尝试构建一个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

最新更新