Python | Construya una string a partir de una tupla de frecuencia de caracteres

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos realizar la construcción de una string de manera que tengamos una lista de tuplas que tienen carácter y su frecuencia correspondiente y necesitamos construir una nueva string a partir de eso. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar bucle
Este es un método de fuerza bruta en el que se puede realizar esta tarea. En esto, iteramos la lista y realizamos la concatenación de strings usando el operador * y seguimos construyendo la string de esta manera.

# Python3 code to demonstrate working of
# String construction from character frequency
# using loop
  
# initialize list 
test_list = [('g', 4), ('f', 3), ('g', 2)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# String construction from character frequency
# using loop
res = ''
for char, freq in test_list:
    res = res + char * freq
  
# printing result
print("The constructed string is : " + str(res))
Producción :

The original list : [('g', 4), ('f', 3), ('g', 2)]
The constructed string is : ggggfffgg

Método n.º 2: Uso join()de la comprensión de listas +
La combinación de las funcionalidades anteriores se puede utilizar para realizar esta tarea. En esto, realizamos la tarea de extracción usando la comprensión de listas y creando strings usando join().

# Python3 code to demonstrate working of
# String construction from character frequency
# using join() + list comprehension
  
# initialize list 
test_list = [('g', 4), ('f', 3), ('g', 2)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# String construction from character frequency
# using join() + list comprehension
res = ''.join(char * freq for char, freq in test_list)
  
# printing result
print("The constructed string is : " + str(res))
Producción :

The original list : [('g', 4), ('f', 3), ('g', 2)]
The constructed string is : ggggfffgg

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 *