A veces, mientras trabajamos con Python Strings, podemos tener un problema en el que necesitamos verificar todos los índices de caracteres. La posición donde ocurren. Este tipo de aplicación puede venir en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Usoset() + regex + list comprehension + replace()
La combinación de las funciones anteriores se puede utilizar para realizar esta tarea. En esto, set() se usa para obtener elementos cuya frecuencia debe calcularse. La tarea de ensamblar el diccionario en consecuencia se realiza utilizando la función regex y la comprensión de listas.
# Python3 code to demonstrate working of # Characters Index occurrences in String # Using regex + set() + list comprehension + replace() import re # initializing string test_str = "Gfg is best for geeks" # printing original string print("The original string is : " + test_str) # Characters Index occurrences in String # Using regex + set() + list comprehension + replace() temp = set(test_str.replace(' ', '')) res = {ele: [sub.start() for sub in re.finditer(ele, test_str)] for ele in temp} # printing result print("Characters frequency index dictionary : " + str(res))
The original string is : Gfg is best for geeks Characters frequency index dictionary : {'g': [2, 16], 'k': [19], 't': [10], 'G': [0], 'b': [7], 'i': [4], 'r': [14], 'f': [1, 12], 's': [5, 9, 20], 'o': [13], 'e': [8, 17, 18]}
Método n.º 2: Uso de bucle +enumerate()
Esta es otra forma más en la que se puede realizar esta tarea. En esto creamos un diccionario y luego iteramos la string para mapear los caracteres con sus respectivos caracteres.
# Python3 code to demonstrate working of # Characters Index occurrences in String # Using loop + enumerate() import re # initializing string test_str = "Gfg is best for geeks" # printing original string print("The original string is : " + test_str) # Characters Index occurrences in String # Using loop + enumerate() res = {ele : [] for ele in test_str} for idx, ele in enumerate(test_str): res[ele].append(idx) # printing result print("Characters frequency index dictionary : " + str(res))
The original string is : Gfg is best for geeks Characters frequency index dictionary : {'g': [2, 16], 'k': [19], 't': [10], 'G': [0], 'b': [7], 'i': [4], 'r': [14], 'f': [1, 12], 's': [5, 9, 20], 'o': [13], 'e': [8, 17, 18]}
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