首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字典同义词库替换子字符串

字典同义词库替换子字符串
EN

Stack Overflow用户
提问于 2017-12-10 04:03:14
回答 1查看 23关注 0票数 0

所以我有一本包含单词和它们的同义词的字典。目的是将字符串中的子字符串替换为随机同义词。这是我的代码。

代码语言:javascript
复制
import random
thesaurus = {
              "happy":["glad",  "blissful", "ecstatic", "at ease"],
              "sad"  :["bleak", "blue",     "depressed"]
            }
phrase = input("Enter a phrase: ")
for x in phrase.split():

    if x in thesaurus:
        ran = len(thesaurus[x])
        print( len(thesaurus[x]))
        ranlis = random.randint(0,ran - 1)
        phrase = phrase.replace(x,str.upper(thesaurus[x][ranlis]))
print(phrase)

如果我输入" happy“,输出是:

代码语言:javascript
复制
ECSTATIC ECSTATIC ECSTATIC

我希望它每次打印一个不同的同义词(或者至少能够。我知道这是随机的)。所以:

欣喜若狂,轻松自在

我理解我的逻辑中的错误,但不确定如何修复它。

EN

回答 1

Stack Overflow用户

发布于 2017-12-10 04:35:29

关键是只替换一个匹配项。replace()函数接受3个参数,第三个参数是要替换的匹配项的数量。所以:

代码语言:javascript
复制
phrase = phrase.replace(x,str.upper(thesaurus[x][ranlis]),1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47732645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档