ある文字列の文字の各インスタンスを別の文字列の同じインデックスの文字に置きたいとします。そのインデックスに文字が存在しない場合はそのままにしてください。ここである文字列の特定の文字を同じインデックスの別の文字の文字とエレガントに置き換える方法はありますか?
はリスト内包(Pythonの3)と私のソリューションです:
string1 = "food is delicious"
string2 = "orange is not delicious"
string3 = "".join([string2[i] if i<len(string2) and c=="o" else c for i, c in enumerate(string1)])
print(string3)
結果
frad is delicidus
何とかstr.replaceを使用して、たとえば、しかしより良い方法があるはずのようにそれは感じています。何か案は?
**で満たされます**オブジェクトを比較するのに 'is'を使用しないでください。 – thefourtheye
また、 'a'が' b'よりも長い場合、これは機能しません。 – thefourtheye