字母查找树(letter trie)是一种可以用来索引词汇的数据结构,一次一个字母。
构建一个字母查找树:一个++递归++函数建立一个嵌套的字典结构,每一级嵌套包含给定前缀的所有单词,而子查找树含有所有可能的后续词
In [15]: def insert(trie, key, value): ...: if key: ...: first, rest = key[0], key[1:] ...: if first not in trie: ...: trie[first] = {} ...: insert(trie[first], rest, value) ...: else: ...: trie['value'] = value ...: In [16]: import nltkIn [17]: trie = nltk.defaultdict(dict)In [18]: insert(trie, 'chat', 'cat')In [19]: insert(trie, 'chien', 'dog')In [20]: insert(trie, 'chair', 'flesh')In [21]: insert(trie, 'chic', 'stylist')In [22]: trie = dict(trie)In [23]: trie['c']['h']['a']['t']['value']Out[23]: 'cat'In [25]: PRint trie{'c': {'h': {'a': {'i': {'r': {'value': 'flesh'}}, 't': {'value': 'cat'}}, 'i': {'c': {'value': 'stylist'}, 'e': {'n': {'value': 'dog'}}}}}}新闻热点
疑难解答