Programa de Python para invertir caracteres alternativos en una string

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)) 
Producción

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)) 
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *