Programa de Python para encontrar la frecuencia de los elementos que son comunes en una lista de strings

Lista dada de strings. La tarea es encontrar la frecuencia de los elementos que son comunes en todas las strings dadas en la lista de strings.

Ejemplos:

Input : test_list = ["gegek", "gfgk", "kingg"]
Output : {'g': 2, 'k': 1}
Explanation : g occurs twice in all Strings.

Input : test_list = ["gefgek", "gfgk", "kinfgg"]
Output : {'g': 2, 'k': 1, 'f' : 1}
Explanation : f occurs once in all Strings.

Método: Usando reduce() + lambda + Counter()

La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, realizamos el papel clave de contar usando Counter() y lambda junto con reduce() se usa para realizar la intersección y la extensión de la lógica a todas las strings, respectivamente.

Python3

# Python3 code to demonstrate working of
# Strings list intersection
# Using reduce() + lambda + Counter()
from functools import reduce
from collections import Counter
 
# initializing list
test_list = ["geek", "gfgk", "king"]
 
# printing original list
print("The original list is : " + str(test_list))
 
# using & operator to perform intersection
res = reduce(lambda a, b: a & b, (Counter(ele) for ele in test_list[1:]),
             Counter(test_list[0]))
 
# printing result
print("String intersection and frequency : " + str(dict(res)))
Producción

The original list is : ['geek', 'gfgk', 'king']
String intersection and frequency : {'g': 1, 'k': 1}

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 *