Python: strings de eliminación de elementos consecutivos

A veces, mientras trabajamos con Python, podemos tener un problema en el que tenemos una string y deseamos extraer todas las combinaciones posibles de palabras después de eliminar los elementos consecutivos uno a la vez. Esto puede tener aplicación en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso de la comprensión de listas + división de listas
Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos por los elementos de la lista y seguimos creando una nueva string usando el corte de lista consecutivo.

# Python3 code to demonstrate working of 
# Consecutive element deletion strings
# Using list comprehension + list slicing
  
# initializing string
test_str = 'Geeks4Geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Consecutive element deletion strings
# Using list comprehension + list slicing
res =  [test_str[: idx] + test_str[idx + 1:] 
             for idx in range(len(test_str))]
  
# printing result 
print("Consecutive Elements removal list : " + str(res)) 
Producción :

La string original es: Geeks4Geeks
Lista de eliminación de elementos consecutivos: [‘eeks4Geeks’, ‘Geks4Geeks’, ‘Geks4Geeks’, ‘Gees4Geeks’, ‘Geek4Geeks’, ‘GeeksGeeks’, ‘Geeks4eeks’, ‘Geeks4Geks’, ‘Geeks4Geeks’, ‘Geeks4Geeks’, ‘Geeks4Geeks’ ‘, ‘Geeks4Geek’]

Método n.° 2: usar la comprensión de listas +enumerate()
La combinación de los métodos anteriores se puede usar para realizar esta tarea. En esto, extraemos el índice usando enumerate. Esto da un código más limpio.

# Python3 code to demonstrate working of 
# Consecutive element deletion strings
# Using list comprehension + enumerate()
  
# initializing string
test_str = 'Geeks4Geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Consecutive element deletion strings
# Using list comprehension + enumerate()
res = [test_str[:idx] + test_str[idx + 1:] 
          for idx, _ in enumerate(test_str)]
  
# printing result 
print("Consecutive Elements removal list : " + str(res)) 
Producción :

La string original es: Geeks4Geeks
Lista de eliminación de elementos consecutivos: [‘eeks4Geeks’, ‘Geks4Geeks’, ‘Geks4Geeks’, ‘Gees4Geeks’, ‘Geek4Geeks’, ‘GeeksGeeks’, ‘Geeks4eeks’, ‘Geeks4Geks’, ‘Geeks4Geeks’, ‘Geeks4Geeks’, ‘Geeks4Geeks’ ‘, ‘Geeks4Geek’]

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 *