Python: repetición de caracteres consecutivos personalizados en String

Dada una string, repite los caracteres consecutivamente por el número asignado en el diccionario.

Entrada : test_str = ‘Geeks4Geeks’, test_dict = {“G”: 3, “e”: 1, “4”: 3, “k”: 5, “s”: 3} 
Salida : GGGeekkkkksss444GGeekkkkksss 
Explicación : Cada letra se repite como por valor en el diccionario.

Entrada : test_str = ‘Geeks4Geeks’, test_dict = {“G”: 3, “e”: 1, “4”: 3, “k”: 5, “s”: 1} 
Salida : GGGeekkkkks444GGGeekkkkks 
Explicación : Cada letra se repite como por valor en el diccionario. 
 

Método #1: Usar bucle

Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos a través de cada carácter y verificamos en el mapa su repetición y repetimos para esa cantidad.

Python3

# Python3 code to demonstrate working of 
# Custom Consecutive character repetition in String
# Using loop
  
# initializing string
test_str = 'Geeks4Geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing dictionary 
test_dict = {"G" : 3, "e" : 2, "4" : 4, "k" : 5, "s" : 3}
  
res = ""
for ele in test_str:
      
    # using * operator for repetition
    # using + for concatenation
    res += ele * test_dict[ele]
  
# printing result 
print("The filtered string : " + str(res)) 
Producción

The original string is : Geeks4Geeks
The filtered string : GGGeeeekkkkksss4444GGGeeeekkkkksss

Método n.º 2: usar la comprensión de listas + unir()

Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos una tarea similar a la función anterior. La única diferencia es que usamos join() para fusionar la lista de repetición creada.

Python3

# Python3 code to demonstrate working of 
# Custom Consecutive character repetition in String
# Using list comprehension + join()
  
# initializing string
test_str = 'Geeks4Geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing dictionary 
test_dict = {"G" : 3, "e" : 2, "4" : 4, "k" : 5, "s" : 3}
  
# using join to perform concatenation of strings
res = "".join([ele * test_dict[ele] for ele in test_str])
  
# printing result 
print("The filtered string : " + str(res)) 
Producción

The original string is : Geeks4Geeks
The filtered string : GGGeeeekkkkksss4444GGGeeeekkkkksss

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 *