Корректор правописания во вложенных списках - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть вложенный список:

collection_words = [['cat','doag','tseken'],['phisboal','melk','tsokoleyt'],['eagle','elephant','bare']]

Я хочу исправить некоторые элементы в этом вложенном списке, вот мой код:

from symspellpy.symspellpy import SymSpell, Verbosity

initial_capacity = 83000
max_edit_distance_dictionary = 2
prefix_length = 7
max_edit_distance_lookup = 2
sym_spell = SymSpell(initial_capacity, max_edit_distance_dictionary, prefix_length)

def correct_spelling(doc):
                    return [[[word.term for word in sym_spell.lookup_compound(words,max_edit_distance_lookup)]for words in texts]for texts in doc]

correct_spelling(collection_words)

, но я получаю

TypeError: decoding to str: need a bytes-like object, list found

более длинное решение будет:

for list in collection_words:
        corrected_list = []
        for words in list:
               words =sym_spell.lookup_compound(words,max_edit_distance_lookup)]
               for word in words:
                       corrected_list.append(word.term)

, но это не обеспечивает желаемой структуры вложенного списка.Желаемый результат:

[['cat','dog','chicken'],['fishbowl','milk','chocolate'],['eagle','elephant','bare']]

есть какие-либо советы?

...