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