python - 如何使用字典映射替换字符串中的单词

标签 python string python-3.x dictionary

我有下面这句话

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/

相关文章:

python - datetime.fromtimestamp 在 Path 对象的 ctime_ns 上给出错误 22 无效参数

python - 使用 python 在 Azure Functions 中进行路由

python - 为相同的字典值创建可交换元组键的最佳方法是什么?

c - 将字符串直接传递给函数

c - recv() 函数不读取输入(套接字编程)

python - pandas txt 读取和绘图的问题

python - 将 'breadcrumbs' 保留为 Python 中的对象数据

python - 由于某些广告隐藏了搜索按钮,因此无法点击该按钮

java - 按路径拆分正则表达式

python - os.listdir() 给出的列表比预期的要大