使用python将缩略词替换为它的值

2024-09-26 18:02:57 发布

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

我有像这样的字典,我需要用dictionary中的值来替换文本中的首字母缩略词,我使用了这段代码,但是当我使用acronyms("we are gr8 and awsm")测试函数时,它并没有给我合适的结果,它应该会给我一个很好的和令人敬畏的

def acronyms(text):
    my_dict = {}
    with open('acronym.txt') as fileobj:
        for line in fileobj:
            key, value = line.split('\t')
            my_dict[key] = value
    acronym_words = []
    words = word_tokenize(text)
    for word in words:
        for candidate_replacement in my_dict:
            if candidate_replacement in word:
                word = word.replace(candidate_replacement, my_dict[candidate_replacement])
                acronym_words.append(word)
    acronym_sentence = " ".join(acronym_words)
    return acronym_sentence

Tags: keytextinforvaluemylinecandidate
1条回答
网友
1楼 · 发布于 2024-09-26 18:02:57

您可以使用split将句子拆分为单个单词,然后使用简单的列表理解来替换所需的值:

dct = {'gr8': 'great', 'awsm': 'awesome'}
s = "we are gr8 and awsm"

def acronym(s, dct):
  return ' '.join([dct.get(i, i) for i in s.split()])

print(acronym(s, dct))

输出:

^{pr2}$

相关问题 更多 >

    热门问题