Python: frecuencia de caracteres específicos en la lista de strings

Dada la lista de strings, extraiga la frecuencia de caracteres específicos en la lista de strings completas.

Entrada : test_list = [“geeksforgeeks es lo mejor para los geeks”], chr_list = [‘e’, ‘b’, ‘g’, ‘f’] Salida : {‘g’: 3, ‘e’: 7, ‘b ‘: 1, ‘f’: 1} Explicación : Frecuencia de ciertos caracteres extraídos. Entrada : test_list = [“geeksforgeeks], chr_list = [‘e’, ‘g’] Salida : {‘g’: 2, ‘e’: 4} Explicación : Frecuencia de ciertos caracteres extraídos.

Método #1: Usando join() + Counter()

En esto, concatenamos todas las strings y luego Counter() realiza la tarea de obtener todas las frecuencias. El último paso es obtener solo caracteres específicos de la Lista en el diccionario usando la comprensión del diccionario.

Python3

# Python3 code to demonstrate working of
# Specific Characters Frequency in String List
# Using join() + Counter()
from collections import Counter
 
# initializing lists
test_list = ["geeksforgeeks is best for geeks"]
 
# printing original list
print("The original list : " + str(test_list))
 
# char list
chr_list = ['e', 'b', 'g']
 
# dict comprehension to retrieve on certain Frequencies
res = {key:val for key, val in dict(Counter("".join(test_list))).items() if key in chr_list}
     
# printing result
print("Specific Characters Frequencies : " + str(res))
Producción

The original list : ['geeksforgeeks is best for geeks']
Specific Characters Frequencies : {'g': 3, 'e': 7, 'b': 1}

Método #2: Usar chain.from_iterable() + Counter() + comprensión del diccionario

En esto, la tarea de concatenación se realiza utilizando chain.from_iterable() en lugar de join(). Resto todas las tareas se realizan como el método anterior.

Python3

# Python3 code to demonstrate working of
# Specific Characters Frequency in String List
# Using chain.from_iterable() + Counter() + dictionary comprehension
from collections import Counter
from itertools import chain
 
# initializing lists
test_list = ["geeksforgeeks is best for geeks"]
 
# printing original list
print("The original list : " + str(test_list))
 
# char list
chr_list = ['e', 'b', 'g']
 
# dict comprehension to retrieve on certain Frequencies
# from_iterable to flatten / join
res = {key:val for key, val in dict(Counter(chain.from_iterable(test_list))).items() if key in chr_list}
     
# printing result
print("Specific Characters Frequencies : " + str(res))
Producción

The original list : ['geeksforgeeks is best for geeks']
Specific Characters Frequencies : {'g': 3, 'e': 7, 'b': 1}

Método n.º 3: Uso del método count(). El método count() devuelve el número de veces que aparece un elemento en particular en una secuencia.

Python3

# Python3 code to demonstrate working of
# Specific Characters Frequency in String List
 
# initializing lists
test_list = ["geeksforgeeks is best for geeks"]
 
# printing original list
print("The original list : " + str(test_list))
 
# char list
chr_list = ['e', 'b', 'g']
 
d=dict()
for i in chr_list:
    d[i]=test_list[0].count(i)
res=d
     
# printing result
print("Specific Characters Frequencies : " + str(res))
Producción

The original list : ['geeksforgeeks is best for geeks']
Specific Characters Frequencies : {'e': 7, 'b': 1, 'g': 3}

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 *