Dada una string, invierta su string de caracteres alternativos.
Entrada : test_str = ‘geeks4rgeeks’
Salida : keekr4sgeegs
Explicación : solo g, e, s, r, e, k están invertidos, el resto tienen la misma posición.Entrada : test_str = ‘geeks’
Salida : seekg
Explicación : solo g, e, s están invertidas, el resto tienen la misma posición.
Método n. ° 1: usar bucle + rebanar + invertido()
Esta es una de las formas en que se puede realizar esta tarea. En esto, extraemos alternativas usando el corte y luego invertimos la string usando invertido. La reconstrucción de la cuerda se realiza mediante un bucle.
Python3
# Python3 code to demonstrate working of # Alternate characters reverse in String # Using loop + slicing + reversed() # initializing string test_str = 'geeks4rgeeks' # printing original string print("The original string is : " + str(test_str)) # extracting alternate string alt = test_str[::2] not_alt = test_str[1::2] # performing reverse alt = "".join(reversed(alt)) res = '' # remaking string for idx in range(len(alt)): res += alt[idx] res += not_alt[idx] # printing result print("Is alternate reversed string : " + str(res))
The original string is : geeks4rgeeks Is alternate reversed string : keekr4sgeegs
Método #2: Usar la comprensión de listas
Esta es una forma más en la que se puede realizar esta tarea. En esto, realizamos una función similar a la anterior mediante el uso de la funcionalidad de una sola línea mediante la comprensión de listas.
Python3
# Python3 code to demonstrate working of # Alternate characters reverse in String # Using list comprehension # initializing string test_str = 'geeks4rgeeks' # printing original string print("The original string is : " + str(test_str)) # using one-liner to solve the problem res = "".join(["".join(reversed(test_str[::2]))[idx] + test_str[1::2][idx] for idx in range(len("".join(reversed(test_str[::2]))))]) # printing result print("Is alternate reversed string : " + str(res))
The original string is : geeks4rgeeks Is alternate reversed string : keekr4sgeegs
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA