Dada una string S, c1 y c2. Reemplace el carácter c1 con c2 y c2 con c1. Ejemplos:
Input : str = 'grrksfoegrrks' c1 = e, c2 = r Output : geeksforgeeks Input : str = 'ratul' c1 = t, c2 = h Output : rahul
Tenemos una solución existente para este problema en C++. Consulte Reemplazar un carácter c1 con c2 y c2 con c1 en una string S . Podemos resolver este problema rápidamente en Python usando una expresión Lambda y la función map() . Crearemos una expresión lambda donde el carácter c1 en la string será reemplazado por c2 y c2 será reemplazado por c1. Todos los demás personajes seguirán siendo los mismos. Luego, mapearemos esta expresión en cada carácter de la string y devolveremos una string actualizada.
Python3
# Function to replace a character c1 with c2 # and c2 with c1 in a string S def replaceChars(input,c1,c2): # create lambda to replace c1 with c2, c2 # with c1 and other will remain same # expression will be like "lambda x: # x if (x!=c1 and x!=c2) else c1 if (x==c2) else c2" # and map it onto each character of string newChars = map(lambda x: x if (x!=c1 and x!=c2) else \ c1 if (x==c2) else c2,input) # now join each character without space # to print resultant string print (''.join(newChars)) # Driver program if __name__ == "__main__": input = 'grrksfoegrrks' c1 = 'e' c2 = 'r' replaceChars(input,c1,c2)
Producción:
geeksforgeeks
Publicación traducida automáticamente
Artículo escrito por Shashank Mishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA