Dada una string, la tarea es escribir un programa de Python para extraer la ocurrencia media de un carácter.
Entrada: test_str = «geeksforgeeks es lo mejor para todos los geeks», K = ‘e’
Salida : 10
Explicación: 7 ocurrencias de e. La cuarta aparición [media] está en el décimo índice.
Entrada: test_str = «geeksforgeeks es lo mejor para todos los geeks», K = ‘g’
Salida : 8
Explicación: 3 ocurrencias de g. La segunda aparición [media] está en el octavo índice.
Método n. ° 1: usar enumerar() + comprensión de lista
En esto, realizamos la tarea de obtener todas las ocurrencias utilizando la comprensión de listas y enumerar obtiene todos los índices. Publique que el elemento central de la lista se imprime para obtener la mitad de la aparición de un carácter.
Python3
# Python3 code to demonstrate working of # Mid occurrence of K in string # Using find() + max() + slice # initializing string test_str = "geeksforgeeks is best for all geeks" # printing original string print("The original string is : " + str(test_str)) # initializing K K = 'e' # getting all the indices of K indices = [idx for idx, ele in enumerate(test_str) if ele == K] # getting mid index res = indices[len(indices) // 2] # printing result print("Mid occurrence of K : " + str(res))
Producción:
The original string is : geeksforgeeks is best for all geeks Mid occurrence of K : 10
Complejidad de tiempo: O(n)
Complejidad espacial: O(n)
Método n. ° 2: usar finditer() + comprensión de lista + expresiones regulares
En esto, el carácter se encuentra usando expresiones regulares y finditer(). La aparición intermedia es el elemento intermedio de la lista de índices.
Python3
# Python3 code to demonstrate working of # Mid occurrence of K in string # Using finditer() + list comprehension + regex import re # initializing string test_str = "geeksforgeeks is best for all geeks" # printing original string print("The original string is : " + str(test_str)) # initializing K K = 'e' # getting all the indices of K # using regex indices = [ele.start() for ele in re.finditer(K, test_str)] # getting mid index res = indices[len(indices) // 2] # printing result print("Mid occurrence of K : " + str(res))
Producción:
The original string is : geeksforgeeks is best for all geeks Mid occurrence of K : 10
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(n)
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