Python: inserte un carácter en cada string duplicada después de cada K elementos

Dada una string y un carácter, inserte el carácter después de cada K ocurrencias.

Entrada : test_str = ‘GeeksforGeeks’, K = 2, add_chr = “;” 
Salida : [‘;GeeksforGeeks’, ‘GeeksforGeeks’, ‘Geek;sforGeeks’, ‘Geeksf;orGeeks’, ‘Geeksfor;Geeks’, ‘GeeksforGe;eks’, ‘GeeksforGeek;s’] 
Explicación : todas las combinaciones después de agregar ; después de cada K elementos.

Entrada : test_str = ‘GeeksforGeeks’, K = 2, add_chr = “*” 
Salida : [‘*GeeksforGeeks’, ‘Ge*eksforGeeks’, ‘Geek*sforGeeks’, ‘Geeksf*orGeeks’, ‘Geeksfor*Geeks’, ‘ GeeksforGe*eks’, ‘GeeksforGeek*s’] 
Explicación : todas las combinaciones después de agregar * después de cada K elementos. 
 

Método n. ° 1: usar bucle + corte de cuerdas

Esta es una de las formas en que se puede realizar esta tarea. En esto, cortamos la string en cada K-ésima aparición usando la división de strings y agregamos un carácter entre ellas.

Python3

# Python3 code to demonstrate working of
# Insert character after every K elements
# Using loop + string slicing
  
  
# Function to Insert character
# in each duplicate string
# after every K elements
def insertCharacterAfterKelements(test_str, K, char):
    res = []
    # using loop to iterate
    for idx in range(0, len(test_str), K):
  
        # appending all the results
        res.append(test_str[:idx] + char + test_str[idx:])
  
    return str(res)
  
  
# Driver Code
# initializing string
input_str = 'GeeksforGeeks'
  
# printing original string
print("The original string is : " + str(input_str))
  
# initializing K
K = 2
  
# initializing add char
add_chr = ";"
  
# printing result
print("The extracted strings : " +
      insertCharacterAfterKelements(input_str, K, add_chr))

Producción:

La string original es: GeeksforGeeks
Las strings extraídas: [‘;GeeksforGeeks’, ‘Ge;eksforGeeks’, ‘Geek;sforGeeks’, ‘Geeksf;orGeeks’, ‘Geeksfor;Geeks’, ‘GeeksforGe;eks’, ‘GeeksforGeek;s ‘]

Método n.º 2: uso de la comprensión de listas + división de strings

Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos una tarea similar a la diferencia de bucle, ya que la comprensión de la lista se emplea como abreviatura para resolver esta pregunta.

Python3

# Python3 code to demonstrate working of
# Insert character after every K elements
# Using list comprehension + string slicing
  
  
# Function to Insert character
# in each duplicate string
# after every K elements
def insertCharacterAfterKelements(test_str, K, char):
    # list comprehension to bind logic in one.
    res = [test_str[:idx] + char + test_str[idx:]
           for idx in range(0, len(test_str), K)]
  
    return str(res)
  
  
# Driver Code
# initializing string
input_str = 'GeeksforGeeks'
  
# printing original string
print("The original string is : " + str(input_str))
  
# initializing K
K = 2
  
# initializing add char
add_chr = ";"
  
# printing result
print("The extracted strings : " +
      insertCharacterAfterKelements(input_str, K, add_chr))

Producción:

La string original es: GeeksforGeeks
Las strings extraídas: [‘;GeeksforGeeks’, ‘Ge;eksforGeeks’, ‘Geek;sforGeeks’, ‘Geeksf;orGeeks’, ‘Geeksfor;Geeks’, ‘GeeksforGe;eks’, ‘GeeksforGeek;s ‘]

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 *