You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何遍历字典按key替换对应value中的指定字符串?

问题排查

你原有代码的几个核心错误:

  • 你的字典每个value是包含字符串的列表,不是单词列表,直接遍历v拿到的是完整句子,不可能和key相等,所以判断条件永远不触发,自然没有输出
  • 保留前2个字符的切片写错了,word[1:]是从索引1(第二个字符)开始取全部内容,正确写法是word[:2]
  • 替换后缀要求是... (三个点加三个空格),你只拼接了...不符合要求
  • 没有对原字典的value做赋值操作,自然不会修改原字典内容
实现代码
# 遍历字典的键和对应值(值为列表)
for key, sent_list in d.items():
    # 构造替换后的词:前2个字符 + 要求的后缀
    replace_word = key[:2] + "...   "
    # 遍历列表里的每个句子,替换后直接覆盖原列表内容
    for i in range(len(sent_list)):
        sent_list[i] = sent_list[i].replace(key, replace_word)

如果需要严格匹配独立单词,避免误替换长单词里包含的key字符串(比如key是pr时不会替换profoundly里的pr),可以用正则实现:

import re
for key, sent_list in d.items():
    replace_word = key[:2] + "...   "
    for i in range(len(sent_list)):
        # \b代表单词边界,只会匹配独立的key单词
        sent_list[i] = re.sub(rf'\b{re.escape(key)}\b', replace_word, sent_list[i])
效果验证

执行完上述代码后直接打印原字典,输出和你要求的结果完全一致:

print(d)
# 输出:
# {
# 'entrenched': ['the Internet is firmly en...   in our lives.'],
# 'profoundly': ['racism is pr...   entrenched within different social spheres.']
# }

内容的提问来源于stack exchange,提问作者John Aiton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:09:05