为什么有些单词在python中会出现非类型错误?

2024-09-29 01:26:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在自然语言处理中使用扩展收缩。所以我做了伸缩函数。你知道吗

from contractions import contractions_dict
def expand_contractions(text,contraction_mapping=contractions_dict):
    contractions_pattern=re.compile('({})'.format('|'.join
                                      (contraction_mapping.keys())),flags=re.IGNORECASE|re.DOTALL)
    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                      
    expanded_text=contractions_pattern.sub(expand_match,str(text))
    expanded_text=re.sub("'"," ",expanded_text)
    return expanded_text

当我试着

expand_contractions("I'll be a son")

然后它工作得很好。但当我试着

expand_contractions("I'll be a daughter")

然后显示错误,即

NoneType object is not subscriptable.

所以我不明白女儿的话有什么问题。 请帮帮我。你知道吗


Tags: textregetreturndefmatchmappingdict