A veces, mientras trabajamos con strings, podemos tener un problema en el que necesitamos verificar el conteo de cada carácter entre el carácter consecutivo. Este tipo de problema puede tener aplicación en el día a día y en el dominio del desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Usar bucle
Esta es una forma de fuerza bruta en la que se puede realizar esta tarea. En esto, iteramos la lista contando el carácter K entre cada uno de los caracteres.
# Python3 code to demonstrate working of # Count K character between consecutive characters # Using loop # initializing string test_str = "g...f..g.i..s....b..e....s...t" # printing original string print("The original string is : " + test_str) # initializing K K = '.' # Count K character between consecutive characters # Using loop count = 0 res = [] for ele in test_str: if ele == K: count += 1 else: res.append(count) count = 0 res = res[1:] # printing result print("List of character count : " + str(res))
The original string is : g...f..g.i..s....b..e....s...t List of character count : [3, 2, 1, 2, 4, 2, 4, 3]
Método n.º 2: usar la comprensión de listas +findall()
Esta es otra forma más de resolver este problema. En esto, verificamos si aparece el carácter K usando findall() y se usa la comprensión de la lista para iterar sobre la string.
# Python3 code to demonstrate working of # Count K character between consecutive characters # Using list comprehension + findall() import re # initializing string test_str = "g---f--g-i--s----b--e----s---t" # printing original string print("The original string is : " + test_str) # Count K character between consecutive characters # Using list comprehension + findall() res = [len(ele) for ele in re.findall('(?<=[a-z])-*(?=[a-z])', test_str)] # printing result print("List of character count : " + str(res))
The original string is : g---f--g-i--s----b--e----s---t List of character count : [3, 2, 1, 2, 4, 2, 4, 3]
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