Изменение backsla sh на if if code в python 3.7 - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь понять этот код, который использует модуль сжатия :

def expand_match(contraction):
    match = contraction.group(0)
    first_char = match[0]
    expanded_contraction = contraction_mapping.get(match)\
                           if contraction_mapping.get(match)\
                           else contraction_mapping.get(match.lower())                       
    expanded_contraction = first_char+expanded_contraction[1:]
    return expanded_contraction

В сообщении об ошибке написано:

<ipython-input-73-3210e198815e> in expand_contractions(text, contraction_mapping)
     10         expanded_contraction = first_char+expanded_contraction[1:]
     11         return expanded_contraction
---> 12     expanded_text = contractions_pattern.sub(expand_match, text)
     13     expanded_text = re.sub("'", "", expanded_text)
     14     return expanded_text

<ipython-input-73-3210e198815e> in expand_match(contraction)
      8                                if contraction_mapping.get(match)\
      9                                else contraction_mapping.get(match.lower())
---> 10         expanded_contraction = first_char+expanded_contraction[1:]
     11         return expanded_contraction
     12     expanded_text = contractions_pattern.sub(expand_match, text)

TypeError: 'NoneType' object is not subscriptable

Кажется, что extended_contraction ничего не возвращает - есть ли способ изменить код на оператор if-else по умолчанию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...