Python: todas las uniones espaciales posibles en String

A veces, mientras trabajamos con Python Strings, podemos tener un problema en el que necesitamos construir strings con un solo espacio en cada terminación de palabra posible. Este tipo de aplicación puede ocurrir en dominios en los que necesitamos realizar pruebas. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n. ° 1: Usar bucle +join()
Esta es una forma de fuerza bruta en la que se puede realizar esta tarea. En esto, realizamos la tarea de formar todas las uniones posibles usando join() y la tarea de iterar a través de todas las strings usando loop.

# Python3 code to demonstrate working of 
# All possible space joins in String
# Using loop + join()
  
# initializing string
test_str = 'Geeksforgeeks is best for geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# All possible space joins in String
# Using loop + join()
res = []
temp = test_str.split(' ')             
strt_idx = 0
lst_idx = len(temp)
for idx in range(len(temp)-1):       
    frst_wrd = "".join(temp[strt_idx : idx + 1])   
    scnd_wrd = "".join(temp[idx + 1 : lst_idx])
    res.append(frst_wrd + " " + scnd_wrd)
      
# printing result 
print("All possible spaces List : " + str(res)) 
Producción :

La string original es: Geeksforgeeks is best for geeks
Todos los espacios posibles Lista: [‘Geeksforgeeks isbestforgeeks’, ‘Geeksforgeeksis bestforgeeks’, ‘Geeksforgeeksisbest forgeeks’, ‘Geeksforgeeksisbestfor geeks’]

Método #2: Usoenumerate() + join() + combinations()
La combinación de los métodos anteriores se puede utilizar para realizar esta tarea. En esto, realizamos la tarea de extraer combinaciones usando combinaciones(). Esto imprime todas las combinaciones de todas las apariciones de espacios en lugar de solo uno como en el método anterior.

# Python3 code to demonstrate working of 
# All possible space joins in String
# Using enumerate() + join() + combinations()
import itertools
  
# initializing string
test_str = 'Geeksforgeeks is best for geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# All possible space joins in String
# Using enumerate() + join() + combinations()
res = []
temp = test_str.split(' ')
N = range(len(temp) - 1)
for idx in N:
    for sub in itertools.combinations(N, idx + 1):
        temp1 = [val + " " if i in sub else val for i, val in enumerate(temp)]
        temp2 = "".join(temp1)
        res.append(temp2)
      
# printing result 
print("All possible spaces List : " + str(res)) 
Producción :

La string original es: Geeksforgeeks is best for geeks
Todos los espacios posibles Lista: [‘Geeksforgeeks isbestforgeeks’, ‘Geeksforgeeksis bestforgeeks’, ‘Geeksforgeeksisbest forgeeks’, ‘Geeksforgeeksisbestfor geeks’, ‘Geeksforgeeks is bestforgeeks’, ‘Geeksforgeeks’ isbest forgeeks es mejor para geeks’, ‘Geeksforgeeks es mejor para geeks’, ‘Geeksforgeeks es mejor para geeks’, ‘Geeksforgeeks es mejor para geeks’, ‘Geeksforgeeks es mejor para geeks’, ‘Geeksforgeeks es mejor para geeks’, ‘Geeksforgeeks es mejor para geeks’, ‘Geeksforgeeks’ para geeks ‘Geeksforgeeks es lo mejor para los geeks’]

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 *