Как получить ключ и значения в Суффикс tree.substringdict
Я использую суффиксное дерево для извлечения совпавшей подстроки. readme
файл содержит пример как -
>>> import SuffixTree.SubstringDict
>>> d = SubstringDict.SubstringDict()
>>> d['foobar'] = 1
>>> d['barfoo'] = 2
>>> d['forget'] = 3
>>> d['oo']
[1, 2]
Запрос возвращает значения всех строк, совпадающих сoo
, Но я также не нашел способа получить значения. Например, я хочу получить такой результат -
>>> d['oo']
[['foobar', 1],
['barfoo', 2]]
Этот класс содержит только методы ['__doc__', '__getitem__', '__init__', '__module__', '__setitem__', '_addToTree', '_lookupKeys', 'debug']
и я не мог использовать это для достижения желаемого результата. Я нашел альтернативное решение, чтобы получить желаемый результат, который я понял из метода _dictWordsTree()
в исходном файле. Я переписал код как -
>>> import SuffixTree.SubstringDict
>>> d = SubstringDict.SubstringDict()
>>> d['foobar'] = ['foobar', 1]
>>> d['barfoo'] = ['barfoo', 2]
>>> d['forget'] = ['forget', 3]
>>> d['fo']
[['foobar', 1], ['barfoo', 2], ['forget', 3]]
И я получил желаемый результат. Как получить требуемый вывод без дополнительного сохранения ключа в качестве значения (у меня большой набор данных ~20 МБ)? (Я искал похожие темы 1, 2, 3, 4, 5, но это мне не помогло).