Dada una string y una substring, cuente todos los sustitutos de la string que se pueden usar para completar la substring.
Entrada : test_str = “Gfg es bueno. Gfg es bueno. Gfg es mejor. Gfg es bueno.”, substr = “Gfg es”
Salida : {‘bueno’: 3, ‘mejor’: 1}
Explicación : bueno aparece 3 veces como sufijo después de la substring en la string, por lo tanto, 3. y así sucesivamente.Entrada : test_str = “Gfg es bueno. Gfg es bueno. Gfg es bueno. Gfg is good .”, substr = “Gfg is”
Salida : {‘good’: 4}
Explicación : good aparece 4 veces como sufijo después de la substring en la string, por lo tanto, 4. y así sucesivamente.
Método #1: Usar regex() + defaultdict() + loop
Esta es una de las formas en que se puede realizar esta tarea. En esto, construimos expresiones regulares para obtener todos los elementos coincidentes para la substring. Luego verifique todo lo posible con ocurrencias en String, conteo de frecuencia usando defaultdict().
Python3
# Python3 code to demonstrate working of # Substring substitutes frequency # Using regex() + defaultdict() + loop from collections import defaultdict import re # initializing string test_str = "Gfg is good . Gfg is best . Gfg is better . Gfg is good ." # printing original string print("The original string is : " + str(test_str)) # initializing substring substr = "Gfg is" # initializing regex temp = re.findall(substr + " (\w+)", test_str, flags = re.IGNORECASE) # adding values to form frequencies res = defaultdict(int) for idx in temp: res[idx] += 1 # printing result print("Frequency of replacements : " + str(dict(res)))
The original string is : Gfg is good . Gfg is best . Gfg is better . Gfg is good . Frequency of replacements : {'good': 2, 'best': 1, 'better': 1}
Método #2: Usando Counter() + regex()
Esta es otra forma más en la que se puede realizar esta tarea. En esto, calculamos la frecuencia de los elementos usando Counter().
Python3
# Python3 code to demonstrate working of # Substring substitutes frequency # Using Counter() + regex() import re from collections import Counter # initializing string test_str = "Gfg is good . Gfg is best . Gfg is better . Gfg is good ." # printing original string print("The original string is : " + str(test_str)) # initializing substring substr = "Gfg is" # initializing regex temp = re.findall(substr + " (\w+)", test_str, flags = re.IGNORECASE) # adding values to form frequencies res = dict(Counter(temp)) # printing result print("Frequency of replacements : " + str(res))
The original string is : Gfg is good . Gfg is best . Gfg is better . Gfg is good . Frequency of replacements : {'good': 2, 'best': 1, 'better': 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