Как получить как ключ, так и значения в suffixtree.substringdict

Я использую suffixtree для извлечения совпадающей подстроки. Файл 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 темы, но мне это не помогло).


person Ujjal Kumar Das    schedule 10.09.2017    source источник