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

如何利用字典实现输入字符串中指定词汇的映射替换?

问题分析与解决方案

现有代码的问题

  1. 变量覆盖:你先用words存储拆分后的单词列表,之后又把它赋值成字典,直接覆盖了之前的输入数据,完全无法使用拆分后的单词做匹配。
  2. 字典语法错误:'walking': 'pedestrian road'后面缺少逗号,运行时会触发语法报错。
  3. 缺少匹配逻辑:只定义了替换规则,但没有遍历输入单词、匹配规则并输出结果的代码。

修正后的实现代码

# 获取输入句子
input_sentence = input("What is the sentence?")

# 定义替换规则字典,换变量名避免覆盖
replace_map = {
    'swimming': 'swimming pool', 
    'walking': 'pedestrian road',  # 补上缺失的逗号
    'flying': 'airplane'
}

# 拆分句子为单词列表
words = input_sentence.split()

# 遍历单词匹配替换规则
for word in words:
    # 去除单词两端标点,避免干扰匹配(比如句号、逗号)
    cleaned_word = word.strip('.,!?')
    if cleaned_word in replace_map:
        print(replace_map[cleaned_word])
        # 找到第一个匹配项就停止,符合预期输出效果
        break
else:
    # 无匹配项时的提示
    print("No matching word found")

关键说明

  • 变量区分:用input_sentence存输入内容,replace_map存替换规则,彻底解决变量覆盖问题。
  • 标点处理:输入单词可能带标点(比如today.),用strip去除两端常见标点,保证能匹配字典里的纯单词键。
  • 匹配逻辑:遍历每个单词,找到匹配项就输出对应替换值,break确保只输出第一个匹配结果(满足输入I am swimming today.时输出swimming pool的需求)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:06:21