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