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
相关产品推荐
相关产品推荐

