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

如何快速将单字母映射字典应用于多字母字符串?

解决单字母映射字典处理多字母字符串的问题

你的问题很典型——原来的函数只处理单个字符,面对多字符字符串就失效了对吧?其实不用手动逐个索引遍历,利用Python的迭代特性就能轻松搞定。

核心思路是:字符串本身是可迭代对象,我们可以直接遍历输入字符串的每一个字符,把每个字符对应的字典值取出来拼接成结果就行。

修改后的代码如下:

def decode(code):
    key = {"a":1,"b":2,"c":3,"d":4,"e":5}
    # 遍历每个字符,转成对应字符串后拼接,最后转成整数
    return int(''.join(str(key[char]) for char in code))

调用decode("eddcab")就会返回544312,完全符合你的需求。

简单拆解一下这个写法:

  • for char in code:自动遍历输入字符串的每一个字符,不用你手动写code[0]、code[1]这种索引操作
  • str(key[char]):把字典里对应的数值转成字符串类型,这样才能用join拼接
  • ''.join(...):把所有单个的数字字符串拼接成一个完整的字符串,最后转成int得到你要的数字结果

额外提个小优化:如果担心输入字符串里有不在字典中的字符(会触发KeyError),可以用dict.get()方法设置默认值,比如遇到未知字符就用0代替:

def decode(code):
    key = {"a":1,"b":2,"c":3,"d":4,"e":5}
    return int(''.join(str(key.get(char, 0)) for char in code))

这样函数的鲁棒性会更好,不会因为输入里有意外字符直接报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:39:54