Python | Intercambio de elementos consecutivos en String

A veces, mientras trabajamos con strings, podemos tener un problema en el que es posible que necesitemos realizar un intercambio de elementos consecutivos en una string. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Usar join() + zip()la expresión del generador +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de unir caracteres consecutivos usando zip() y la expresión del generador se usa para proporcionar la lógica de intercambio.

# Python3 code to demonstrate working of
# Consecutive element swapping in String
# using join() + zip() + generator expression
  
# initializing string 
test_str = "gfgisbesty"
  
# printing original string 
print("The original string is : " + test_str)
  
# Consecutive element swapping in String
# using join() + zip() + generator expression
res = ''.join([char[1] + char[0] for char in zip(test_str[::2], test_str[1::2])])
  
# printing result
print("String after Consecutive Swapping : " + str(res))
Producción :

The original string is : gfgisbesty
String after Consecutive Swapping : fgigbsseyt

Método n.º 2: usar expresiones regulares
Esta tarea también se puede realizar usando expresiones regulares usando expresiones regulares enmarcadas correctamente.

# Python3 code to demonstrate working of
# Consecutive element swapping in String
# using regular expression
import re 
  
# initializing string 
test_str = "gfgisbesty"
  
# printing original string 
print("The original string is : " + test_str)
  
# Consecutive element swapping in String
# using regular expression
res = re.sub(r'(.)(.)', r'\2\1', test_str)
  
# printing result
print("String after Consecutive Swapping : " + str(res))
Producción :

The original string is : gfgisbesty
String after Consecutive Swapping : fgigbsseyt

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 *