하나의 문자열에있는 문자의 각 인스턴스를 다른 문자열의 동일한 색인에있는 문자로 바꾸고 싶습니다. 해당 색인에 문자가 없으면 그대로 두십시오. 어떻게 든 str.replace를 사용하여 예를 들어,하지만 더 나은 방법이 있어야한다처럼 느낀다하나의 문자열에있는 특정 문자를 동일한 색인의 다른 문자에있는 문자로 우아하게 대체하는 방법은 무엇입니까?
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
:
여기에 지능형리스트와 내 솔루션 (파이썬 3)입니다. 어떤 아이디어?
** ** 비교를 위해 'is'를 사용하지 마십시오. – thefourtheye
또한 'a'가'b'보다 길면이 기능이 작동하지 않습니다. – thefourtheye