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

Python如何遍历dict将句子字母转换为a=1对应序号的数字序列

修正后的可运行代码

def alphabet_position(text):
    Text = text.lower()
    # 过滤出所有纯字母字符
    Texting = ''.join([char for char in Text if char.isalpha()])

    StrNo = {
        "a" : 1, "b" : 2, "c" : 3, "d" : 4, "e" : 5, "f" : 6, "g" : 7,
        "h" : 8, "i" : 9, "j" : 10, "k" : 11, "l" : 12, "m" : 13, "n" : 14,
        "o" : 15, "p" : 16, "q" : 17, "r" : 18, "s" : 19, "t" : 20, "u" : 21,
        "v" : 22, "w" : 23, "x" : 24, "y" : 25, "z" : 26
    }

    # 遍历纯字母字符串,取对应序号转字符串后用空格拼接
    result = " ".join([str(StrNo[char]) for char in Texting])
    return result

# 测试调用
print(alphabet_position("The sunset sets at twelve o' clock."))

调整说明

  • 你原本的写法报错是因为从字典取出的数值是整数类型,不能直接传入join方法拼接,需要先用str()转成字符串格式
  • 输出要求数字之间用空格分隔,所以拼接方法用" ".join()而不是"".join()
  • 最终返回拼接好的结果即可,运行测试用例输出的结果和你给出的示例序列完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:15:01