首页 > 解决方案 > 如何在 python 3 中使用 .replace() 反转字符串?

问题描述

我的代码假设用 str2 中的字符替换 str1 中的每个字符,因此最后 str1 和 str2 具有相同的值。有人可以解释为什么这不起作用吗?它一直有效,直到 x=2 并且从 x=3 开始,代码变得疯狂,只是添加了废话。

str1, str2= "Donkey", "Yeknod"

for x in range(len(str1)): 
    str1=str1.replace(str1[x], str2[x])

标签: python-3.xstringreplacereverse

解决方案


这些是您的前三个替代品,它们恰好按您的预期工作:

replace('D', 'Y') --> Yonkey
replace('o', 'e') --> Yenkey
replace('n', 'k') --> Yekkey

在此之后,您开始替换在str1.

replace('k', 'n') --> Yenney
replace('e', 'o') --> Yonnoy
replace('y', 'd') --> Yonnod

replace不是用于反转字符串的合适方法,因为它会替换所有匹配的字符,而不仅仅是您要替换的字符。


推荐阅读