我有下面这句话
a = "you don't need a dog"
和字典
dict = {"don't": "do not" }
但是我不能使用字典来使用下面的代码映射句子中的单词:
''.join(str(dict.get(word, word)) for word in a)
输出:
"you don't need a dog"
我做错了什么?
最佳答案
这是一种方法。
a = "you don't need a dog"
d = {"don't": "do not" }
res = ' '.join([d.get(i, i) for i in a.split()])
# 'you do not need a dog'
解释
- 永远不要在类之后命名变量,例如使用
d
而不是dict
。 - 使用
str.split
按空格分割。 - 没有必要用
str
包裹已经是字符串的值。 str.join
有效 marginally better使用列表理解与生成器表达式。
关于python - 如何使用字典映射替换字符串中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49600700/